From 557cc94e5d53d7dcbff6e879aaa6a9407ace602e Mon Sep 17 00:00:00 2001 From: Jon Schoning Date: Fri, 1 Mar 2019 13:13:21 -0600 Subject: [PATCH] submit on editField (AccountSettings) --- purs/src/Component/AccountSettings.purs | 2 ++ static/js/app.min.js | 2 +- static/js/app.min.js.gz | Bin 74320 -> 74334 bytes static/js/app.min.map | 2 +- static/js/app.min.map.gz | Bin 236321 -> 236363 bytes 5 files changed, 4 insertions(+), 2 deletions(-) diff --git a/purs/src/Component/AccountSettings.purs b/purs/src/Component/AccountSettings.purs index 2a92cbd..270d660 100644 --- a/purs/src/Component/AccountSettings.purs +++ b/purs/src/Component/AccountSettings.purs @@ -81,6 +81,8 @@ usetting u' = EarchiveDefault e -> _ { archiveDefault = e } EprivateDefault e -> _ { privateDefault = e } EprivacyLock e -> _ { privacyLock = e } + us <- use _us + void $ H.liftAff (editAccountSettings us) handleAction (USubmit e) = do us <- use _us diff --git a/static/js/app.min.js b/static/js/app.min.js index d329dd6..29dc4fa 100644 --- a/static/js/app.min.js +++ b/static/js/app.min.js @@ -11,6 +11,6 @@ var e,t=arguments[3];!function(t){"use strict";var n={newline:/^\n+/,code:/^( {4 var t,e,n=module.exports={};function r(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function i(e){if(t===setTimeout)return setTimeout(e,0);if((t===r||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(n){try{return t.call(null,e,0)}catch(n){return t.call(this,e,0)}}}function u(t){if(e===clearTimeout)return clearTimeout(t);if((e===o||!e)&&clearTimeout)return e=clearTimeout,clearTimeout(t);try{return e(t)}catch(n){try{return e.call(null,t)}catch(n){return e.call(this,t)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:r}catch(n){t=r}try{e="function"==typeof clearTimeout?clearTimeout:o}catch(n){e=o}}();var c,s=[],l=!1,a=-1;function f(){l&&c&&(l=!1,c.length?s=c.concat(s):a=-1,s.length&&h())}function h(){if(!l){var t=i(f);l=!0;for(var e=s.length;e;){for(c=s,s=[];++a1)for(var n=1;n0}).map(function(e){var t=e.indexOf(":");return n(e.substring(0,t))(e.substring(t+2))}),body:r.getResponse(o)})},o.responseType=e.responseType,o.withCredentials=e.withCredentials,o.send(e.content),function(n,e,t){try{o.abort()}catch(f){return e(f)}return t()}}})}(),function(n){"use strict";n.fromObject=function(n){return n},n.stringify=function(n){return JSON.stringify(n)}}(t["Data.Argonaut.Core"]=t["Data.Argonaut.Core"]||{}),function(n){"use strict";(t["Data.Eq"]=t["Data.Eq"]||{}).refEq=function(n){return function(e){return n===e}}}(),function(n){"use strict";n.boolConj=function(n){return function(e){return n&&e}},n.boolDisj=function(n){return function(e){return n||e}},n.boolNot=function(n){return!n}}(t["Data.HeytingAlgebra"]=t["Data.HeytingAlgebra"]||{}),function(n){"use strict";t["Data.Symbol"];var e=function(){function n(){}return n.value=new n,n}();n.IsSymbol=function(n){this.reflectSymbol=n},n.reflectSymbol=function(n){return n.reflectSymbol},n.SProxy=e}(t["Data.Symbol"]=t["Data.Symbol"]||{}),function(n){"use strict";(t["Data.Unit"]=t["Data.Unit"]||{}).unit={}}(),function(n){"use strict";(t["Data.Show"]=t["Data.Show"]||{}).showIntImpl=function(n){return n.toString()}}(),function(n){"use strict";(t["Record.Unsafe"]=t["Record.Unsafe"]||{}).unsafeGet=function(n){return function(e){return e[n]}}}(),function(n){"use strict";var e=t["Record.Unsafe"];n.unsafeGet=e.unsafeGet}(t["Record.Unsafe"]=t["Record.Unsafe"]||{}),function(n){"use strict";var e=function(){function n(){}return n.value=new n,n}();n.RLProxy=e}(t["Type.Data.RowList"]=t["Type.Data.RowList"]||{}),function(n){"use strict";var e=t["Data.Show"],r=(t["Data.Symbol"],t["Record.Unsafe"],t["Type.Data.RowList"],function(n){this.show=n}),a=new r(e.showIntImpl);n.Show=r,n.show=function(n){return n.show},n.showInt=a}(t["Data.Show"]=t["Data.Show"]||{}),function(n){"use strict";var e=t["Data.Unit"];t["Data.Show"];n.unit=e.unit}(t["Data.Unit"]=t["Data.Unit"]||{}),function(n){"use strict";var e=t["Data.HeytingAlgebra"],r=(t["Data.Symbol"],t["Data.Unit"],t["Record.Unsafe"],t["Type.Data.Row"],t["Type.Data.RowList"],function(n,e,t,r,a,o){this.conj=n,this.disj=e,this.ff=t,this.implies=r,this.not=a,this.tt=o}),a=function(n){return n.tt},o=function(n){return n.not},u=function(n){return n.implies},i=function(n){return n.ff},l=function(n){return n.disj},c=new r(e.boolConj,e.boolDisj,!1,function(n){return function(e){return l(c)(o(c)(n))(e)}},e.boolNot,!0),f=function(n){return n.conj};n.HeytingAlgebra=r,n.tt=a,n.ff=i,n.implies=u,n.conj=f,n.disj=l,n.not=o,n.heytingAlgebraBoolean=c,n.heytingAlgebraFunction=function(n){return new r(function(e){return function(t){return function(r){return f(n)(e(r))(t(r))}}},function(e){return function(t){return function(r){return l(n)(e(r))(t(r))}}},function(e){return i(n)},function(e){return function(t){return function(r){return u(n)(e(r))(t(r))}}},function(e){return function(t){return o(n)(e(t))}},function(e){return a(n)})}}(t["Data.HeytingAlgebra"]=t["Data.HeytingAlgebra"]||{}),function(n){"use strict";t["Data.Show"];n.absurd=function(n){return function(n){for(var e;;)e=void(n=n);return e}(n)}}(t["Data.Void"]=t["Data.Void"]||{}),function(n){"use strict";var e=t["Data.Eq"],r=(t["Data.HeytingAlgebra"],t["Data.Symbol"],t["Data.Unit"],t["Data.Void"],t["Record.Unsafe"],t["Type.Data.RowList"],function(n){this.eq=n}),a=new r(function(n){return function(n){return!0}}),o=new r(e.refEq),u=new r(e.refEq),i=new r(e.refEq),l=new r(e.refEq);n.Eq=r,n.eq=function(n){return n.eq},n.eqBoolean=l,n.eqInt=u,n.eqChar=i,n.eqString=o,n.eqUnit=a}(t["Data.Eq"]=t["Data.Eq"]||{}),function(n){"use strict";var e=function(n){this.compose=n},t=new e(function(n){return function(e){return function(t){return n(e(t))}}});n.compose=function(n){return n.compose},n.Semigroupoid=e,n.semigroupoidFn=t}(t["Control.Semigroupoid"]=t["Control.Semigroupoid"]||{}),function(n){"use strict";var e=t["Control.Semigroupoid"],r=function(n,e){this.Semigroupoid0=n,this.identity=e},a=new r(function(){return e.semigroupoidFn},function(n){return n});n.Category=r,n.identity=function(n){return n.identity},n.categoryFn=a}(t["Control.Category"]=t["Control.Category"]||{}),function(n){"use strict";(t["Data.Boolean"]=t["Data.Boolean"]||{}).otherwise=!0}(),function(n){"use strict";(t["Data.Ord.Unsafe"]=t["Data.Ord.Unsafe"]||{}).unsafeCompareImpl=function(n){return function(e){return function(t){return function(r){return function(a){return r0?Math.floor(n/e):-Math.floor(n/-e)}},n.intMod=function(n){return function(e){if(0===e)return 0;var t=Math.abs(e);return(n%t+t)%t}}}(t["Data.EuclideanRing"]=t["Data.EuclideanRing"]||{}),function(n){"use strict";var e=t["Data.Ring"],r=(t["Data.Semiring"],t["Data.Symbol"],t["Data.Unit"],function(n){this.Ring0=n}),a=new r(function(){return e.ringInt});n.CommutativeRing=r,n.commutativeRingInt=a}(t["Data.CommutativeRing"]=t["Data.CommutativeRing"]||{}),function(n){"use strict";var e=t["Data.EuclideanRing"],r=(t["Data.BooleanAlgebra"],t["Data.CommutativeRing"]),a=(t["Data.Eq"],t["Data.HeytingAlgebra"],t["Data.Ring"],t["Data.Semiring"],function(n,e,t,r){this.CommutativeRing0=n,this.degree=e,this.div=t,this.mod=r}),o=new a(function(){return r.commutativeRingInt},e.intDegree,e.intDiv,e.intMod);n.EuclideanRing=a,n.degree=function(n){return n.degree},n.div=function(n){return n.div},n.mod=function(n){return n.mod},n.euclideanRingInt=o}(t["Data.EuclideanRing"]=t["Data.EuclideanRing"]||{}),function(n){"use strict";t["Data.Boolean"],t["Data.Eq"],t["Data.EuclideanRing"],t["Data.Ord"],t["Data.Ordering"];var e=t["Data.Semigroup"],r=(t["Data.Symbol"],t["Data.Unit"],t["Record.Unsafe"],t["Type.Data.RowList"],function(n,e){this.Semigroup0=n,this.mempty=e}),a=new r(function(){return e.semigroupString},""),o=new r(function(){return e.semigroupArray},[]),u=function(n){return n.mempty};n.Monoid=r,n.mempty=u,n.guard=function(n){return function(e){return function(t){if(e)return t;if(!e)return u(n);throw new Error("Failed pattern match at Data.Monoid (line 74, column 1 - line 74, column 49): "+[e.constructor.name,t.constructor.name])}}},n.monoidFn=function(n){return new r(function(){return e.semigroupFn(n.Semigroup0())},function(e){return u(n)})},n.monoidString=a,n.monoidArray=o}(t["Data.Monoid"]=t["Data.Monoid"]||{}),function(n){"use strict";t["Control.Alt"],t["Control.Alternative"],t["Control.Applicative"];var e=t["Control.Apply"],r=t["Control.Bind"],a=t["Control.Category"],o=(t["Control.Extend"],t["Control.Monad"],t["Control.MonadZero"],t["Control.Plus"],t["Data.Bounded"],t["Data.Eq"]),u=t["Data.Function"],i=t["Data.Functor"],l=(t["Data.Functor.Invariant"],t["Data.Monoid"],t["Data.Ord"],t["Data.Ordering"],t["Data.Semigroup"],t["Data.Show"],t["Data.Unit"],t.Prelude,function(){function n(){}return n.value=new n,n}()),c=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),f=function(n){return function(e){return function(t){if(t instanceof l)return n;if(t instanceof c)return e(t.value0);throw new Error("Failed pattern match at Data.Maybe (line 217, column 1 - line 217, column 51): "+[n.constructor.name,e.constructor.name,t.constructor.name])}}},s=f(!0)(u.const(!1)),d=f(!1)(u.const(!0)),v=new i.Functor(function(n){return function(e){return e instanceof c?new c(n(e.value0)):l.value}}),p=new e.Apply(function(){return v},function(n){return function(e){if(n instanceof c)return i.map(v)(n.value0)(e);if(n instanceof l)return l.value;throw new Error("Failed pattern match at Data.Maybe (line 67, column 1 - line 67, column 35): "+[n.constructor.name,e.constructor.name])}}),m=new r.Bind(function(){return p},function(n){return function(e){if(n instanceof c)return e(n.value0);if(n instanceof l)return l.value;throw new Error("Failed pattern match at Data.Maybe (line 125, column 1 - line 125, column 33): "+[n.constructor.name,e.constructor.name])}});n.Nothing=l,n.Just=c,n.maybe=f,n.fromMaybe=function(n){return f(n)(a.identity(a.categoryFn))},n.isJust=d,n.isNothing=s,n.fromJust=function(n){return function(n){if(n instanceof c)return n.value0;throw new Error("Failed pattern match at Data.Maybe (line 268, column 1 - line 268, column 46): "+[n.constructor.name])}},n.functorMaybe=v,n.applyMaybe=p,n.bindMaybe=m,n.eqMaybe=function(n){return new o.Eq(function(e){return function(t){return e instanceof l&&t instanceof l||e instanceof c&&t instanceof c&&o.eq(n)(e.value0)(t.value0)}})}}(t["Data.Maybe"]=t["Data.Maybe"]||{}),function(n){"use strict";n.empty={},n._lookup=function(n,e,t,r){return t in r?e(r[t]):n}}(t["Foreign.Object"]=t["Foreign.Object"]||{}),function(n){"use strict";n.length=function(n){return n.length},n.cons=function(n){return function(e){return[n].concat(e)}},n.snoc=function(n){return function(e){var t=n.slice();return t.push(e),t}},n.concat=function(n){if(n.length<=1e4)return Array.prototype.concat.apply([],n);for(var e=[],t=0,r=n.length;t=0;a--)r=n(t[a])(r);return r}}},n.foldlArray=function(n){return function(e){return function(t){for(var r=e,a=t.length,o=0;o=0&&n0)&&(b=F,w=j._3(Q)));break;case m:W++,O=new h(v,new h(D,w,y),O,P),b=F,w=P&&P!==N?j._1.killed(n.fromLeft(P))(j._2):y?j._1.failed(n.fromLeft(y))(j._2):j._1.completed(n.fromRight(w))(j._2),y=null;break;case g:W++,O=new h(v,new h(D,w,y),O,P),b=F,w=j._1;break;case D:W--,b=_,w=j._1,y=j._2}break;case I:for(var V in B)B.hasOwnProperty(V)&&(q=q&&B[V].rethrow,E(B[V].handler(w)));return B=null,void(P&&y?setTimeout(function(){throw n.fromLeft(y)},0):n.isLeft(w)&&q&&setTimeout(function(){if(q)throw n.fromLeft(w)},0));case T:b=F;break;case L:return}}function Q(n){return function(){if(b===I)return q=q&&n.rethrow,n.handler(w)(),function(){};var e=N++;return(B=B||{})[e]=n,function(){null!==B&&delete B[e]}}}return{kill:function(e,t){return function(){if(b===I)return t(n.right(void 0))(),function(){};var r=Q({rethrow:!1,handler:function(){return t(n.right(void 0))}})();switch(b){case T:P=n.left(e),b=I,w=P,J(d);break;case L:null===P&&(P=n.left(e)),0===W&&(b===L&&(O=new h(v,new h(g,w(e)),O,P)),b=_,w=null,y=null,J(++d));break;default:null===P&&(P=n.left(e)),0===W&&(b=_,w=null,y=null)}return r}},join:function(n){return function(){var e=Q({rethrow:!1,handler:n})();return b===T&&J(d),e}},onComplete:Q,isSuspended:function(){return b===T},run:function(){b===T&&(A.isDraining()?J(d):A.enqueue(function(){J(d)}))}}}function P(e,t,r,a){var u=0,i={},l=0,c={},p=new Error("[ParAff] Early exit"),m=null,g=n;function D(t,r,a){var o,u,l=r,c=null,p=null,m=0,g={};n:for(;;)switch(o=null,l.tag){case b:if(l._3===n&&(o=i[l._1],g[m++]=o.kill(t,function(n){return function(){0===--m&&a(n)()}})),null===c)break n;l=c._2,null===p?c=null:(c=p._1,p=p._2);break;case f:l=l._2;break;case s:case d:c&&(p=new h(v,c,p)),c=l,l=l._1}if(0===m)a(e.right(void 0))();else for(u=0,o=m;u=r.bottom(r.boundedInt)&&n<=r.top(r.boundedInt)?new a.Just(e.fromCharCode(n)):a.Nothing.value},v=new u(function(){return o.ordChar},s(d)(e.toCharCode),f(d)(e.toCharCode)),p=new i(function(){return r.boundedChar},function(){return v},e.toCharCode(r.top(r.boundedChar))-e.toCharCode(r.bottom(r.boundedChar))|0,e.toCharCode,d);n.Enum=u,n.succ=function(n){return n.succ},n.pred=function(n){return n.pred},n.BoundedEnum=i,n.cardinality=function(n){return n.cardinality},n.toEnum=l,n.fromEnum=c,n.toEnumWithDefaults=function(n){return function(e){return function(t){return function(o){var u=l(n)(o);if(u instanceof a.Just)return u.value0;if(u instanceof a.Nothing)return o1){var t=o.fromEnum(o.boundedEnumChar)(f.charAt(1)(n));return p(t)?v(e)(t):e}return e}),h=e._toCodePointArray(function(n){return d.unfoldr(d.unfoldableArray)(D)(n)})(b),w=function(n){return c.singleton(o.toEnumWithDefaults(o.boundedEnumChar)(a.bottom(a.boundedChar))(a.top(a.boundedChar))(n))},y=e._singleton(function(n){if(n<=65535)return w(n);var e=u.div(u.euclideanRingInt)(n-65536|0)(1024)+55296|0,t=u.mod(u.euclideanRingInt)(n-65536|0)(1024)+56320|0;return w(e)+w(t)}),E=e._take(function n(e){return function(t){if(e<1)return"";var r=g(t);return r instanceof l.Just?y(r.value0.head)+n(e-1|0)(r.value0.tail):t}});n.singleton=y,n.toCodePointArray=h,n.uncons=g,n.length=function(n){return r.length(h(n))},n.take=E,n.drop=function(n){return function(e){return c.drop(c.length(E(n)(e)))(e)}}}(t["Data.String.CodePoints"]=t["Data.String.CodePoints"]||{}),function(n){"use strict";t["Control.Applicative"];var e=t["Control.Bind"],r=(t["Control.Monad.Maybe.Trans"],t["Control.Semigroupoid"],t["Data.Array"]),a=(t["Data.Eq"],t["Data.Foldable"]),o=(t["Data.Function"],t["Data.Functor"]),u=(t["Data.HeytingAlgebra"],t["Data.Maybe"]),i=t["Data.Nullable"],l=(t["Data.String"],t["Data.String.CodePoints"]),c=t["Data.String.Common"],f=(t["Data.String.Pattern"],t["Data.Tuple"]),s=(t["Data.Unit"],t.Effect),d=t["Global.Unsafe"],v=(t.Halogen,t["Halogen.HTML"],t["Halogen.HTML.Core"]),p=t["Halogen.HTML.Properties"],m=(t["Partial.Unsafe"],t.Prelude,t["Web.DOM"],t["Web.DOM.Document"],t["Web.DOM.Element"],t["Web.DOM.NodeList"],t["Web.DOM.NonElementParentNode"],t["Web.DOM.ParentNode"],t["Web.HTML"]),g=(t["Web.HTML.HTMLDocument"],t["Web.HTML.HTMLElement"],t["Web.HTML.Location"]),D=t["Web.HTML.Window"],b=function(n){var e,t=function(n){return d.unsafeDecodeURIComponent(c.replaceAll("+")(" ")(n))},a="#"===(e=l.take(1)(n))||"?"===e?l.drop(1)(n):n;return r.mapMaybe(function(n){var e=c.split("=")(n);return 1===e.length?new u.Just(new f.Tuple(t(e[0]),u.Nothing.value)):2===e.length?new u.Just(new f.Tuple(t(e[0]),new u.Just(t(e[1])))):u.Nothing.value})(r.filter(function(n){return""!==n})(c.split("&")(a)))},h=e.bindFlipped(s.bindEffect)(D.location)(m.window);n.class_=function(n){return p.class_(v.ClassName(n))},n.attr=function(n){return p.attr(n)},n._loc=h,n._curQuerystring=function(){var n=h(),e=g.search(n)();return b(e)},n._parseQueryString=b,n._lookupQueryStringValue=function(n){return function(t){return e.join(u.bindMaybe)(o.map(u.functorMaybe)(f.snd)(a.find(a.foldableArray)(function(n){return f.fst(n)===t})(n)))}},n.fromNullableStr=function(n){return u.fromMaybe("")(i.toMaybe(n))}}(t.Util=t.Util||{}),function(n){"use strict";var e=t.App,r=t["Control.Bind"],a=(t["Control.Semigroupoid"],t["DOM.HTML.Indexed.InputType"]),o=t["Data.Function"],u=t["Data.Functor"],i=(t["Data.Lens"],t["Data.Lens.Getter"]),l=t["Data.Lens.Internal.Forget"],c=t["Data.Lens.Lens"],f=t["Data.Lens.Setter"],s=t["Data.Maybe"],d=t["Data.Profunctor.Strong"],v=t["Data.Unit"],p=(t["Effect.Aff"],t["Effect.Aff.Class"]),m=t.Globals,g=(t.Halogen,t["Halogen.Component"]),D=(t["Halogen.HTML"],t["Halogen.HTML.Core"]),b=t["Halogen.HTML.Elements"],h=t["Halogen.HTML.Events"],w=t["Halogen.HTML.Properties"],y=t["Halogen.Query.HalogenM"],E=(t.Model,t.Prelude,t.Util),M=(t["Web.Event.Event"],function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}()),C=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),A=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),T=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),F=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),H=function(n){return c.lens(function(n){return n.us})(function(n){return function(n){return{us:n}}})(n)};n._us=H,n.UEditField=T,n.USubmit=F,n.EarchiveDefault=M,n.EprivateDefault=C,n.EprivacyLock=A,n.usetting=function(n){var t;m["app'"](v.unit);return g.mkComponent({initialState:o.const((t=n,{us:t})),render:function(n){var e=function(n){return function(e){return s.Just.create(T.create(n(e)))}};return b.div([E.class_("settings-form")])([b.div([E.class_("fw7 mb2")])([D.text("Account Settings")]),b.div([E.class_("flex items-center mb2")])([b.input([w.type_(D.isPropInputType)(a.InputCheckbox.value),E.class_("pointer mr2"),w.id_("archiveDefault"),w.name("archiveDefault"),w.checked(n.us.archiveDefault),h.onChecked(e(M.create))]),b.label([w.for("archiveDefault"),E.class_("lh-copy")])([D.text("Archive Non-Private Bookmarks (archive.li)")])]),b.div([E.class_("flex items-center mb2")])([b.input([w.type_(D.isPropInputType)(a.InputCheckbox.value),E.class_("pointer mr2"),w.id_("privateDefault"),w.name("privateDefault"),w.checked(n.us.privateDefault),h.onChecked(e(C.create))]),b.label([w.for("privateDefault"),E.class_("lh-copy")])([D.text("Default new bookmarks to Private")])]),b.div([E.class_("flex items-center mb2")])([b.input([w.type_(D.isPropInputType)(a.InputCheckbox.value),E.class_("pointer mr2"),w.id_("privacyLock"),w.name("privacyLock"),w.checked(n.us.privacyLock),h.onChecked(e(A.create))]),b.label([w.for("privacyLock"),E.class_("lh-copy")])([D.text("Privacy Lock (Private Account)")])])])},eval:g.mkEval({handleAction:function(n){if(n instanceof T)return f.modifying(y.monadStateHalogenM)(H(d.strongFn))(function(){if(n.value0 instanceof M)return function(e){return{archiveDefault:n.value0.value0,privateDefault:e.privateDefault,privacyLock:e.privacyLock}};if(n.value0 instanceof C)return function(e){return{archiveDefault:e.archiveDefault,privateDefault:n.value0.value0,privacyLock:e.privacyLock}};if(n.value0 instanceof A)return function(e){return{archiveDefault:e.archiveDefault,privateDefault:e.privateDefault,privacyLock:n.value0.value0}};throw new Error("Failed pattern match at Component.AccountSettings (line 80, column 12 - line 83, column 46): "+[n.value0.constructor.name])}());if(n instanceof F)return r.bind(y.bindHalogenM)(i.use(y.monadStateHalogenM)(H(l.strongForget)))(function(n){return u.void(y.functorHalogenM)(p.liftAff(y.monadAffHalogenM(p.monadAffAff))(e.editAccountSettings(n)))});throw new Error("Failed pattern match at Component.AccountSettings (line 78, column 3 - line 78, column 69): "+[n.constructor.name])},handleQuery:g.defaultEval.handleQuery,receive:g.defaultEval.receive,initialize:g.defaultEval.initialize,finalize:g.defaultEval.finalize})})}}(t["Component.AccountSettings"]=t["Component.AccountSettings"]||{}),function(n){"use strict";var e=t.App,r=t["Control.Bind"],a=t["Control.Monad.State.Class"],o=(t["Control.Semigroupoid"],t["DOM.HTML.Indexed.ButtonType"]),u=t["DOM.HTML.Indexed.InputType"],i=(t["Data.Array"],t["Data.Foldable"],t["Data.Function"]),l=t["Data.Functor"],c=(t["Data.HeytingAlgebra"],t["Data.Lens"],t["Data.Lens.Getter"]),f=t["Data.Lens.Internal.Forget"],s=t["Data.Lens.Lens"],d=t["Data.Lens.Setter"],v=t["Data.Maybe"],p=t["Data.Monoid"],m=(t["Data.Ord"],t["Data.Profunctor.Strong"]),g=t["Data.Semigroup"],D=(t["Data.String"],t["Data.String.Common"]),b=(t["Data.String.Pattern"],t["Data.Tuple"]),h=t["Data.Unit"],w=t["Effect.Aff"],y=t["Effect.Aff.Class"],E=t["Effect.Class"],M=t.Globals,C=(t.Halogen,t["Halogen.Component"]),A=(t["Halogen.HTML"],t["Halogen.HTML.Core"]),T=t["Halogen.HTML.Elements"],F=t["Halogen.HTML.Events"],H=t["Halogen.HTML.Properties"],S=t["Halogen.Query.HalogenM"],L=(t.Model,t.Prelude,t.Util),_=t["Web.Event.Event"],I=t["Web.HTML"],k=t["Web.HTML.Location"],P=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),x=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),U=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),R=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),O=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),W=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),N=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),B=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),J=function(){function n(){}return n.value=new n,n}(),Q=function(n){return s.lens(function(n){return n.edit_bm})(function(n){return function(e){return{edit_bm:e,bm:n.bm,deleteAsk:n.deleteAsk,destroyed:n.destroyed}}})(n)},j=function(n){return s.lens(function(n){return n.bm})(function(n){return function(e){return{bm:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit_bm:n.edit_bm}}})(n)};n.BEditField=N,n.BEditSubmit=B,n.BDeleteAsk=q,n.BDestroy=J,n.Eurl=P,n.Etitle=x,n.Edescription=U,n.Etags=R,n.Eprivate=O,n.Etoread=W,n._bm=j,n._edit_bm=Q,n.addbmark=function(n){var t;M["app'"](h.unit);return C.mkComponent({initialState:i.const((t=n,{bm:t,edit_bm:t,deleteAsk:!1,destroyed:!1})),render:function(n){var e=M.mmoment8601(n.bm.time),t=function(n){return function(e){return v.Just.create(N.create(n(e)))}},r=T.div([L.class_("alert")])([A.text("previously saved "),T.span([L.class_("link f7 dib gray pr3"),H.title(v.maybe(n.bm.time)(b.snd)(e))])([A.text(v.maybe(" ")(b.fst)(e))]),T.div([L.class_("edit_links dib ml1")])([T.div([L.class_("delete_link di")])([T.button(g.append(g.semigroupArray)([H.type_(A.isPropButtonType)(o.ButtonButton.value),F.onClick(function(n){return new v.Just(new q(!0))}),L.class_("delete")])(p.guard(p.monoidArray)(n.deleteAsk)([L.attr("hidden")("hidden")])))([A.text("delete")]),T.span(g.append(g.semigroupArray)([L.class_("confirm red")])(p.guard(p.monoidArray)(!n.deleteAsk)([L.attr("hidden")("hidden")])))([T.button([H.type_(A.isPropButtonType)(o.ButtonButton.value),F.onClick(function(n){return new v.Just(new q(!1))})])([A.text("cancel / ")]),T.button([H.type_(A.isPropButtonType)(o.ButtonButton.value),F.onClick(function(n){return new v.Just(J.value)}),L.class_("red")])([A.text("destroy")])])])])]),a=T.form([F.onSubmit(function(n){return v.Just.create(B.create(n))})])([T.table([L.class_("w-100")])([T.tbody_([T.tr_([T.td([L.class_("w1")])([]),T.td_(p.guard(p.monoidArray)(n.bm.bid>0)([r]))]),T.tr_([T.td_([T.label([H.for("url")])([A.text("URL")])]),T.td_([T.input([H.type_(A.isPropInputType)(u.InputUrl.value),H.id_("url"),L.class_("w-100 mv1"),H.required(!0),H.name("url"),H.autofocus(D.null(n.bm.url)),H.value(n.edit_bm.url),F.onValueChange(t(P.create))])])]),T.tr_([T.td_([T.label([H.for("title")])([A.text("title")])]),T.td_([T.input([H.type_(A.isPropInputType)(u.InputText.value),H.id_("title"),L.class_("w-100 mv1"),H.name("title"),H.value(n.edit_bm.title),F.onValueChange(t(x.create))])])]),T.tr_([T.td_([T.label([H.for("description")])([A.text("description")])]),T.td_([T.textarea([L.class_("w-100 mt1 mid-gray"),H.id_("description"),H.name("description"),H.rows(4),H.value(n.edit_bm.description),F.onValueChange(t(U.create))])])]),T.tr_([T.td_([T.label([H.for("tags")])([A.text("tags")])]),T.td_([T.input([H.type_(A.isPropInputType)(u.InputText.value),H.id_("tags"),L.class_("w-100 mv1"),H.name("tags"),H.autocomplete(!1),L.attr("autocapitalize")("off"),H.autofocus(!D.null(n.bm.url)),H.value(n.edit_bm.tags),F.onValueChange(t(R.create))])])]),T.tr_([T.td_([T.label([H.for("private")])([A.text("private")])]),T.td_([T.input([H.type_(A.isPropInputType)(u.InputCheckbox.value),H.id_("private"),L.class_("private pointer"),H.name("private"),H.checked(n.edit_bm.private),F.onChecked(t(O.create))])])]),T.tr_([T.td_([T.label([H.for("toread")])([A.text("read later")])]),T.td_([T.input([H.type_(A.isPropInputType)(u.InputCheckbox.value),H.id_("toread"),L.class_("toread pointer"),H.name("toread"),H.checked(n.edit_bm.toread),F.onChecked(t(W.create))])])]),T.tr_([T.td_([]),T.td_([T.input([H.type_(A.isPropInputType)(u.InputSubmit.value),L.class_("ph3 pv2 input-reset ba b--navy bg-transparent pointer f6 dib mt1 dim"),H.value(n.bm.bid>0?"update bookmark":"add bookmark")])])])])])]),i=T.p([L.class_("red")])([A.text("you killed this bookmark")]);return T.div_([n.destroyed?i:a])},eval:C.mkEval({handleAction:function(n){if(n instanceof q)return a.modify_(S.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t});if(n instanceof J)return r.bind(S.bindHalogenM)(a.gets(S.monadStateHalogenM)(function(n){return n.bm.bid}))(function(n){return r.discard(r.discardUnit)(S.bindHalogenM)(l.void(S.functorHalogenM)(y.liftAff(S.monadAffHalogenM(y.monadAffAff))(e.destroy(n))))(function(){return a.modify_(S.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.destroyed=!0,e})})});if(n instanceof N)return d.modifying(S.monadStateHalogenM)(Q(m.strongFn))(function(){if(n.value0 instanceof P)return function(e){return{url:n.value0.value0,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof x)return function(e){return{url:e.url,title:n.value0.value0,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof U)return function(e){return{url:e.url,title:e.title,description:n.value0.value0,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof R)return function(e){return{url:e.url,title:e.title,description:e.description,tags:n.value0.value0,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof O)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:n.value0.value0,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof W)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:n.value0.value0,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};throw new Error("Failed pattern match at Component.Add (line 156, column 17 - line 162, column 36): "+[n.value0.constructor.name])}());if(n instanceof B)return r.discard(r.discardUnit)(S.bindHalogenM)(E.liftEffect(S.monadEffectHalogenM(w.monadEffectAff))(_.preventDefault(n.value0)))(function(){return r.bind(S.bindHalogenM)(c.use(S.monadStateHalogenM)(Q(f.strongForget)))(function(n){return r.discard(r.discardUnit)(S.bindHalogenM)(l.void(S.functorHalogenM)(y.liftAff(S.monadAffHalogenM(y.monadAffAff))(e.editBookmark(n))))(function(){return r.discard(r.discardUnit)(S.bindHalogenM)(d.assign(S.monadStateHalogenM)(j(m.strongFn))(n))(function(){return r.bind(S.bindHalogenM)(E.liftEffect(S.monadEffectHalogenM(w.monadEffectAff))(L._loc))(function(n){return r.bind(S.bindHalogenM)(E.liftEffect(S.monadEffectHalogenM(w.monadEffectAff))(I.window))(function(e){return r.bind(S.bindHalogenM)(E.liftEffect(S.monadEffectHalogenM(w.monadEffectAff))(L._curQuerystring))(function(t){var r=L._lookupQueryStringValue(t)("next");return r instanceof v.Just?E.liftEffect(S.monadEffectHalogenM(w.monadEffectAff))(k.setHref(r.value0)(n)):E.liftEffect(S.monadEffectHalogenM(w.monadEffectAff))(M.closeWindow(e))})})})})})})});throw new Error("Failed pattern match at Component.Add (line 148, column 3 - line 148, column 69): "+[n.constructor.name])},handleQuery:C.defaultEval.handleQuery,receive:C.defaultEval.receive,initialize:C.defaultEval.initialize,finalize:C.defaultEval.finalize})})}}(t["Component.Add"]=t["Component.Add"]||{}),function(n){"use strict";var e=t.App,r=t["Control.Bind"],a=t["Control.Monad.State.Class"],o=(t["Control.Semigroupoid"],t["DOM.HTML.Indexed.ButtonType"]),u=t["DOM.HTML.Indexed.InputType"],i=t["Data.Array"],l=(t["Data.Const"],t["Data.Eq"],t["Data.Foldable"]),c=t["Data.Function"],f=t["Data.Functor"],s=(t["Data.HeytingAlgebra"],t["Data.Lens"],t["Data.Lens.Getter"]),d=t["Data.Lens.Internal.Forget"],v=t["Data.Lens.Lens"],p=t["Data.Lens.Setter"],m=t["Data.Maybe"],g=t["Data.Monoid"],D=t["Data.Nullable"],b=t["Data.Profunctor.Strong"],h=t["Data.Semigroup"],w=t["Data.Show"],y=(t["Data.String"],t["Data.String.CodePoints"]),E=t["Data.String.Common"],M=(t["Data.String.Pattern"],t["Data.Tuple"]),C=t["Data.Unit"],A=t["Effect.Aff"],T=t["Effect.Aff.Class"],F=t["Effect.Class"],H=t.Globals,S=(t.Halogen,t["Halogen.Component"]),L=(t["Halogen.HTML"],t["Halogen.HTML.Core"]),_=t["Halogen.HTML.Elements"],I=t["Halogen.HTML.Events"],k=t["Halogen.HTML.Properties"],P=t["Halogen.Query.HalogenM"],x=(t.Model,t.Prelude,t.Util),U=t["Web.Event.Event"],R=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),O=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),W=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),N=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),B=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),J=function(){function n(){}return n.value=new n,n}(),Q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),j=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),V=function(){function n(){}return n.value=new n,n}(),z=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),G=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),K=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),X=function(){function n(){}return n.value=new n,n}(),Y=function(n){return v.lens(function(n){return n.edit_bm})(function(n){return function(e){return{edit_bm:e,bm:n.bm,deleteAsk:n.deleteAsk,edit:n.edit}}})(n)},Z=function(n){return v.lens(function(n){return n.edit})(function(n){return function(e){return{edit:e,bm:n.bm,deleteAsk:n.deleteAsk,edit_bm:n.edit_bm}}})(n)},$=function(n){return v.lens(function(n){return n.bm})(function(n){return function(e){return{bm:e,deleteAsk:n.deleteAsk,edit:n.edit,edit_bm:n.edit_bm}}})(n)};n.BStar=Q,n.BDeleteAsk=j,n.BDestroy=V,n.BEdit=z,n.BEditField=G,n.BEditSubmit=K,n.BMarkRead=X,n.Eurl=R,n.Etitle=O,n.Edescription=W,n.Etags=N,n.Eprivate=B,n.Etoread=q,n.BNotifyRemove=J,n._bm=$,n._edit_bm=Y,n._edit=Z,n.bmark=function(n){var t,v=H["app'"](C.unit);return S.mkComponent({initialState:c.const((t=n,{bm:t,edit_bm:t,deleteAsk:!1,edit:!1})),render:function(n){var e,t,r=g.guard(g.monoidArray)(v.dat.isowner)([_.div([x.class_("star fl pointer"+g.guard(g.monoidString)(n.bm.selected)(" selected"))])([_.button([x.class_("moon-gray"),I.onClick(function(e){return new m.Just(new Q(!n.bm.selected))})])([L.text("✭")])])]),a=H.mmoment8601(n.bm.time),c=g.guard(g.monoidArray)(v.dat.isowner)([_.div([x.class_("edit_links di")])([_.button([k.type_(L.isPropButtonType)(o.ButtonButton.value),I.onClick(function(n){return new m.Just(new z(!0))}),x.class_("edit light-silver hover-blue")])([L.text("edit  ")]),_.div([x.class_("delete_link di")])([_.button([k.type_(L.isPropButtonType)(o.ButtonButton.value),I.onClick(function(n){return new m.Just(new j(!0))}),x.class_("delete light-silver hover-blue"+g.guard(g.monoidString)(n.deleteAsk)(" dn"))])([L.text("delete")]),_.span([x.class_("confirm red"+g.guard(g.monoidString)(!n.deleteAsk)(" dn"))])([_.button([k.type_(L.isPropButtonType)(o.ButtonButton.value),I.onClick(function(n){return new m.Just(new j(!1))})])([L.text("cancel / ")]),_.button([k.type_(L.isPropButtonType)(o.ButtonButton.value),I.onClick(function(n){return new m.Just(V.value)}),x.class_("red")])([L.text("destroy")])])])]),_.div([x.class_("read di")])(g.guard(g.monoidArray)(n.bm.toread)([L.text("  "),_.button([I.onClick(function(n){return new m.Just(X.value)}),x.class_("mark_read")])([L.text("mark as read")])]))]),s=function(n){return x.fromNullableStr(v.userR)+"/t:"+n},d=function(n){return function(e){return m.Just.create(G.create(n(e)))}},p=[_.div([x.class_("edit_bookmark_form pa2 pt0 bg-white")])([_.form([I.onSubmit(function(n){return m.Just.create(K.create(n))})])([_.div_([L.text("url")]),_.input([k.type_(L.isPropInputType)(u.InputUrl.value),x.class_("url w-100 mb2 pt1 f7 edit_form_input"),k.required(!0),k.name("url"),k.value(n.edit_bm.url),I.onValueChange(d(R.create))]),_.br_,_.div_([L.text("title")]),_.input([k.type_(L.isPropInputType)(u.InputText.value),x.class_("title w-100 mb2 pt1 f7 edit_form_input"),k.name("title"),k.value(n.edit_bm.title),I.onValueChange(d(O.create))]),_.br_,_.div_([L.text("description")]),_.textarea([x.class_("description w-100 mb1 pt1 f7 edit_form_input"),k.name("description"),k.rows(5),k.value(n.edit_bm.description),I.onValueChange(d(W.create))]),_.br_,_.div([k.id_("tags_input_box")])([_.div_([L.text("tags")]),_.input([k.type_(L.isPropInputType)(u.InputText.value),x.class_("tags w-100 mb1 pt1 f7 edit_form_input"),k.name("tags"),k.autocomplete(!1),x.attr("autocapitalize")("off"),k.value(n.edit_bm.tags),I.onValueChange(d(N.create))]),_.br_]),_.div([x.class_("edit_form_checkboxes mv3")])([_.input([k.type_(L.isPropInputType)(u.InputCheckbox.value),x.class_("private pointer"),k.id_("edit_private"),k.name("private"),k.checked(n.edit_bm.private),I.onChecked(d(B.create))]),L.text(" "),_.label([k.for("edit_private"),x.class_("mr2")])([L.text("private")]),L.text(" "),_.input([k.type_(L.isPropInputType)(u.InputCheckbox.value),x.class_("toread pointer"),k.id_("edit_toread"),k.name("toread"),k.checked(n.edit_bm.toread),I.onChecked(d(q.create))]),L.text(" "),_.label([k.for("edit_toread")])([L.text("to-read")]),_.br_]),_.input([k.type_(L.isPropInputType)(u.InputSubmit.value),x.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),k.value("save")]),L.text(" "),_.input([k.type_(L.isPropInputType)(u.InputReset.value),x.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),k.value("cancel"),I.onClick(function(n){return new m.Just(new z(!1))})])])])],b=[_.div([x.class_("display")])(h.append(h.semigroupArray)([_.a([k.href(n.bm.url),k.target("_blank"),x.class_("link f5 lh-title"+g.guard(g.monoidString)(n.bm.toread)(" unread"))])([L.text(E.null(n.bm.title)?"[no title]":n.bm.title)]),_.br_,_.a([k.href(n.bm.url),x.class_("link f7 gray hover-blue")])([L.text(n.bm.url)]),_.a([k.href(m.fromMaybe("http://archive.is/"+n.bm.url)(D.toMaybe(n.bm.archiveUrl))),x.class_("link f7 gray hover-blue ml2"+g.guard(g.monoidString)(m.isJust(D.toMaybe(n.bm.archiveUrl)))(" green")),k.target("_blank"),k.title("archive link")])([m.isJust(D.toMaybe(n.bm.archiveUrl))?L.text("☑"):L.text("☐")]),_.br_,_.div([x.class_("description mt1 mid-gray")])((t=n.bm.description,i.drop(1)(l.foldMap(l.foldableArray)(g.monoidArray)(function(n){return[_.br_,L.text(n)]})(E.split("\n")(t))))),_.div([x.class_("tags")])(g.guard(g.monoidFn(g.monoidFn(g.monoidArray)))(!E.null(n.bm.tags))(f.map(f.functorArray))(function(n){return _.a([x.class_("link tag mr1"+g.guard(g.monoidString)("."===y.take(1)(n))(" private")),k.href(s(n))])([L.text(n)])})(E.split(" ")(n.bm.tags))),_.a([x.class_("link f7 dib gray w4"),k.title(m.maybe(n.bm.time)(M.snd)(a)),k.href((e=n.bm.slug,x.fromNullableStr(v.userR)+"/b:"+e))])([L.text(m.maybe(" ")(M.fst)(a))])])(c))];return _.div([k.id_(w.show(w.showInt)(n.bm.bid)),x.class_("bookmark w-100 mw7 pa1 mb3"+g.guard(g.monoidString)(n.bm.private)(" private"))])(h.append(h.semigroupArray)(r)(n.edit?p:b))},eval:S.mkEval({handleAction:function(n){if(n instanceof Q)return r.bind(P.bindHalogenM)(s.use(P.monadStateHalogenM)($(d.strongForget)))(function(t){return r.discard(r.discardUnit)(P.bindHalogenM)(T.liftAff(P.monadAffHalogenM(T.monadAffAff))(e.toggleStar(t.bid)(n.value0?e.Star.value:e.UnStar.value)))(function(){return r.discard(r.discardUnit)(P.bindHalogenM)(p.modifying(P.monadStateHalogenM)($(b.strongFn))(function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:n.value0,time:e.time,archiveUrl:e.archiveUrl}}))(function(){return p.modifying(P.monadStateHalogenM)(Y(b.strongFn))(function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:n.value0,time:e.time,archiveUrl:e.archiveUrl}})})})});if(n instanceof j)return a.modify_(P.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t});if(n instanceof V)return r.bind(P.bindHalogenM)(s.use(P.monadStateHalogenM)($(d.strongForget)))(function(n){return r.discard(r.discardUnit)(P.bindHalogenM)(f.void(P.functorHalogenM)(T.liftAff(P.monadAffHalogenM(T.monadAffAff))(e.destroy(n.bid))))(function(){return P.raise(J.value)})});if(n instanceof X)return r.bind(P.bindHalogenM)(s.use(P.monadStateHalogenM)($(d.strongForget)))(function(n){return r.discard(r.discardUnit)(P.bindHalogenM)(f.void(P.functorHalogenM)(T.liftAff(P.monadAffHalogenM(T.monadAffAff))(e.markRead(n.bid))))(function(){return p.modifying(P.monadStateHalogenM)($(b.strongFn))(function(n){return{url:n.url,title:n.title,description:n.description,tags:n.tags,private:n.private,toread:!1,bid:n.bid,slug:n.slug,selected:n.selected,time:n.time,archiveUrl:n.archiveUrl}})})});if(n instanceof z)return r.bind(P.bindHalogenM)(s.use(P.monadStateHalogenM)($(d.strongForget)))(function(e){return r.discard(r.discardUnit)(P.bindHalogenM)(p.assign(P.monadStateHalogenM)(Y(b.strongFn))(e))(function(){return p.assign(P.monadStateHalogenM)(Z(b.strongFn))(n.value0)})});if(n instanceof G)return p.modifying(P.monadStateHalogenM)(Y(b.strongFn))(function(){if(n.value0 instanceof R)return function(e){return{url:n.value0.value0,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof O)return function(e){return{url:e.url,title:n.value0.value0,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof W)return function(e){return{url:e.url,title:e.title,description:n.value0.value0,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof N)return function(e){return{url:e.url,title:e.title,description:e.description,tags:n.value0.value0,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof B)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:n.value0.value0,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof q)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:n.value0.value0,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};throw new Error("Failed pattern match at Component.BMark (line 227, column 17 - line 233, column 36): "+[n.value0.constructor.name])}());if(n instanceof K)return r.discard(r.discardUnit)(P.bindHalogenM)(F.liftEffect(P.monadEffectHalogenM(A.monadEffectAff))(U.preventDefault(n.value0)))(function(){return r.bind(P.bindHalogenM)(s.use(P.monadStateHalogenM)(Y(d.strongForget)))(function(n){return r.discard(r.discardUnit)(P.bindHalogenM)(f.void(P.functorHalogenM)(T.liftAff(P.monadAffHalogenM(T.monadAffAff))(e.editBookmark(n))))(function(){return r.discard(r.discardUnit)(P.bindHalogenM)(p.assign(P.monadStateHalogenM)($(b.strongFn))(n))(function(){return p.assign(P.monadStateHalogenM)(Z(b.strongFn))(!1)})})})});throw new Error("Failed pattern match at Component.BMark (line 194, column 3 - line 194, column 76): "+[n.constructor.name])},handleQuery:S.defaultEval.handleQuery,receive:S.defaultEval.receive,initialize:S.defaultEval.initialize,finalize:S.defaultEval.finalize})})}}(t["Component.BMark"]=t["Component.BMark"]||{}),function(n){"use strict";var e=t["Component.BMark"],r=t["Control.Monad.State.Class"],a=(t["Control.Semigroupoid"],t["Data.Array"]),o=(t["Data.Eq"],t["Data.Function"]),u=t["Data.Functor"],i=t["Data.Maybe"],l=t["Data.Ord"],c=t["Data.Symbol"],f=t["Data.Unit"],s=(t["Effect.Aff"],t.Halogen,t["Halogen.Component"]),d=t["Halogen.HTML"],v=t["Halogen.HTML.Elements"],p=t["Halogen.Query.HalogenM"],m=(t.Model,t.Prelude,function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}()),g=c.SProxy.value;n.HandleBMessage=m,n._bookmark=g,n.blist=function(n){return s.mkComponent({initialState:o.const(n),render:function(n){return v.div_(u.map(u.functorArray)(function(n){return d.slot()(new c.IsSymbol(function(){return"bookmark"}))(l.ordInt)(g)(n.bid)(e.bmark(n))(f.unit)(function(e){return i.Just.create(m.create(n.bid)(e))})})(n))},eval:s.mkEval({handleAction:function(n){return r.modify_(p.monadStateHalogenM)(a.filter(function(e){return e.bid!==n.value0}))},handleQuery:s.defaultEval.handleQuery,receive:s.defaultEval.receive,initialize:s.defaultEval.initialize,finalize:s.defaultEval.finalize})})}}(t["Component.BList"]=t["Component.BList"]||{}),(t["Component.RawHtml"]=t["Component.RawHtml"]||{}).unsafeSetInnerHTML=function(n){return function(e){return function(){n.innerHTML=e}}},function(n){"use strict";var e=t["Control.Bind"],r=(t["Control.Category"],t["Control.Monad.State.Class"],t["Control.Monad.Trans.Class"],t["Control.Semigroupoid"],t["Data.Functor"]),a=t["Data.Maybe"],o=(t["Data.Unit"],t["Effect.Aff.Class"],t["Effect.Class"],t["Halogen.Query.HalogenM"]),u=(t["Halogen.Query.HalogenQ"],t["Halogen.Query.Input"],t.Prelude,t["Web.HTML.HTMLElement"]);n.getHTMLElementRef=function(n){return r.map(o.functorHalogenM)(function(n){return e.bindFlipped(a.bindMaybe)(u.fromElement)(n)})(o.getRef(n))}}(t["Halogen.Query"]=t["Halogen.Query"]||{}),function(n){"use strict";var e=t["Component.RawHtml"],r=t["Control.Applicative"],a=t["Control.Bind"],o=t["Control.Monad.State.Class"],u=(t["Control.Semigroupoid"],t["Data.Foldable"]),i=(t["Data.Function"],t["Data.Maybe"]),l=t["Data.Unit"],c=(t.Effect,t["Effect.Aff"]),f=t["Effect.Class"],s=(t.Globals,t.Halogen,t["Halogen.Component"]),d=(t["Halogen.HTML"],t["Halogen.HTML.Elements"]),v=t["Halogen.HTML.Properties"],p=t["Halogen.Query"],m=t["Halogen.Query.HalogenM"],g=(t["Halogen.Query.Input"],t.Prelude,t["Web.HTML"],function(){function n(){}return n.value=new n,n}()),D=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}();n.SetInnerHTML=g,n.Receive=D,n.mkComponent=function(n){return s.mkComponent({initialState:function(n){return{elRef:"inputval",inputval:n}},render:function(n){return d.div([v.ref(n.elRef)])([])},eval:s.mkEval({handleAction:function t(i){if(i instanceof g)return a.bind(m.bindHalogenM)(o.get(m.monadStateHalogenM))(function(t){return a.bind(m.bindHalogenM)(p.getHTMLElementRef(t.elRef))(function(t){return a.discard(a.discardUnit)(m.bindHalogenM)(u.for_(m.applicativeHalogenM)(u.foldableMaybe)(t)(function(t){return a.bind(m.bindHalogenM)(o.get(m.monadStateHalogenM))(function(r){return f.liftEffect(m.monadEffectHalogenM(c.monadEffectAff))(e.unsafeSetInnerHTML(t)(n(r.inputval)))})}))(function(){return r.pure(m.applicativeHalogenM)(l.unit)})})});if(i instanceof D)return a.discard(a.discardUnit)(m.bindHalogenM)(o.modify_(m.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.inputval=i.value0,e}))(function(){return t(g.value)});throw new Error("Failed pattern match at Component.RawHtml (line 49, column 18 - line 60, column 22): "+[i.constructor.name])},handleQuery:s.defaultEval.handleQuery,receive:function(n){return i.Just.create(D.create(n))},initialize:new i.Just(g.value),finalize:s.defaultEval.finalize})})}}(t["Component.RawHtml"]=t["Component.RawHtml"]||{}),function(n){var e=require("marked");e.setOptions({pedantic:!1,gfm:!0}),n.markedImpl=function(n){return e(n)}}(t["Foreign.Marked"]=t["Foreign.Marked"]||{}),function(n){"use strict";var e=t["Foreign.Marked"],r=(t["Control.Semigroupoid"],t.Globals);t.Prelude;n.marked=function(n){return r.RawHTML(e.markedImpl(n))}}(t["Foreign.Marked"]=t["Foreign.Marked"]||{}),function(n){"use strict";var e=t["Component.RawHtml"],r=(t["Effect.Aff"],t["Foreign.Marked"]),a=(t.Halogen,t["Halogen.HTML"],e.mkComponent(r.marked));n.component=a}(t["Component.Markdown"]=t["Component.Markdown"]||{}),function(n){"use strict";var e=t["Control.Applicative"],r=t["Data.Array"],a=t["Data.Foldable"],o=t["Data.Function"],u=t["Data.Functor"],i=t["Data.Maybe"],l=t["Data.Monoid"],c=(t["Data.Semigroup"],t["Data.Show"]),f=(t["Data.String"],t["Data.String.CodePoints"]),s=t["Data.String.Common"],d=(t["Data.String.Pattern"],t["Data.Tuple"]),v=t["Data.Unit"],p=(t["Effect.Aff"],t.Globals),m=(t.Halogen,t["Halogen.Component"]),g=(t["Halogen.HTML"],t["Halogen.HTML.Core"]),D=t["Halogen.HTML.Elements"],b=t["Halogen.HTML.Properties"],h=t["Halogen.Query.HalogenM"],w=(t.Model,t.Prelude,t.Util);n.nlist=function(n){var t,y=function(n){return p.mmoment8601(n.created)},E=p["app'"](v.unit),M=function(n){return w.fromNullableStr(E.userR)+"/notes/"+n};return m.mkComponent({initialState:o.const((t=n,{notes:t,cur:i.Nothing.value,deleteAsk:!1,edit:!1})),render:function(n){return D.div_(u.map(u.functorArray)(function(n){return D.div([b.id_(c.show(c.showInt)(n.id)),w.class_("note w-100 mw7 pa1 mb2")])([D.div([w.class_("display")])([D.a([b.href(M(n.slug)),w.class_("link f5 lh-title")])([g.text(s.null(n.title)?"[no title]":n.title)]),D.br_,D.div([w.class_("description mt1 mid-gray")])((e=f.take(200)(n.text),r.drop(1)(a.foldMap(a.foldableArray)(l.monoidArray)(function(n){return[D.br_,g.text(n)]})(s.split("\n")(e))))),D.a([w.class_("link f7 dib gray w4"),b.title(i.maybe(n.created)(d.snd)(y(n))),b.href(M(n.slug))])([g.text(i.maybe(" ")(d.fst)(y(n)))])])]);var e})(n.notes))},eval:m.mkEval({handleAction:function(n){return e.pure(h.applicativeHalogenM)(v.unit)},handleQuery:m.defaultEval.handleQuery,receive:m.defaultEval.receive,initialize:m.defaultEval.initialize,finalize:m.defaultEval.finalize})})}}(t["Component.NList"]=t["Component.NList"]||{}),function(n){"use strict";var e=t.App,r=t["Component.Markdown"],a=t["Control.Applicative"],o=t["Control.Bind"],u=t["Control.Monad.State.Class"],i=(t["Control.Semigroupoid"],t["DOM.HTML.Indexed.ButtonType"]),l=t["DOM.HTML.Indexed.InputType"],c=t["Data.Array"],f=(t["Data.Const"],t["Data.Either"]),s=(t["Data.Eq"],t["Data.Foldable"]),d=t["Data.Function"],v=t["Data.Functor"],p=(t["Data.HeytingAlgebra"],t["Data.Lens"],t["Data.Lens.Getter"]),m=t["Data.Lens.Internal.Forget"],g=t["Data.Lens.Lens"],D=t["Data.Lens.Setter"],b=t["Data.Maybe"],h=t["Data.Monoid"],w=t["Data.Ord"],y=t["Data.Profunctor.Strong"],E=t["Data.Semigroup"],M=t["Data.Show"],C=(t["Data.String"],t["Data.String.Common"]),A=(t["Data.String.Pattern"],t["Data.Symbol"]),T=t["Data.Tuple"],F=t["Data.Unit"],H=t["Data.Void"],S=t.Effect,L=t["Effect.Aff"],_=t["Effect.Aff.Class"],I=t["Effect.Class"],k=t.Globals,P=(t.Halogen,t["Halogen.Component"]),x=t["Halogen.HTML"],U=t["Halogen.HTML.Core"],R=t["Halogen.HTML.Elements"],O=t["Halogen.HTML.Events"],W=t["Halogen.HTML.Properties"],N=t["Halogen.Query.HalogenM"],B=(t.Model,t.Prelude,t.Util),q=t["Web.Event.Event"],J=t["Web.HTML.Location"],Q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),j=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),V=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),z=function(){function n(){}return n.value=new n,n}(),G=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),K=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),X=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Y=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Z=function(){function n(){}return n.value=new n,n}(),$=function(n){return g.lens(function(n){return n.note})(function(n){return function(e){return{note:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit:n.edit,edit_note:n.edit_note}}})(n)},nn=A.SProxy.value,en=function(n){return g.lens(function(n){return n.edit_note})(function(n){return function(e){return{edit_note:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit:n.edit,note:n.note}}})(n)},tn=function(n){return g.lens(function(n){return n.edit})(function(n){return function(e){return{edit:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit_note:n.edit_note,note:n.note}}})(n)};n.NNop=z,n.NEditField=G,n.NEditSubmit=K,n.NEdit=X,n.NDeleteAsk=Y,n.NDestroy=Z,n._note=$,n._edit_note=en,n._edit=tn,n.Etitle=Q,n.Etext=j,n.EisMarkdown=V,n._markdown=nn,n.nnote=function(n){var t,g=k["app'"](F.unit);return P.mkComponent({initialState:d.const((t=n,{note:t,edit_note:t,deleteAsk:!1,edit:t.id<=0,destroyed:!1})),render:function(n){var e,t=function(n){return k.mmoment8601(n.created)},a=R.div([W.id_(M.show(M.showInt)(n.note.id)),B.class_("note w-100 mw7 pa1 mb2")])(E.append(E.semigroupArray)([R.div([B.class_("display")])([R.div([B.class_("link f5 lh-title")])([U.text(C.null(n.note.title)?"[no title]":n.note.title)]),R.br_,n.note.isMarkdown?R.div([B.class_("description mt1")])([x.slot()(new A.IsSymbol(function(){return"markdown"}))(w.ordUnit)(nn)(F.unit)(r.component)(n.note.text)(H.absurd)]):R.div([B.class_("description mt1 mid-gray")])((e=n.note.text,c.drop(1)(s.foldMap(s.foldableArray)(h.monoidArray)(function(n){return[R.br_,U.text(n)]})(C.split("\n")(e))))),R.div([B.class_("link f7 dib gray w4"),W.title(b.maybe(n.note.created)(T.snd)(t(n.note)))])([U.text(b.maybe(" ")(T.fst)(t(n.note)))])])])([R.div([B.class_("edit_links db mt3")])([R.button([W.type_(U.isPropButtonType)(i.ButtonButton.value),O.onClick(function(n){return new b.Just(new X(!0))}),B.class_("edit light-silver hover-blue")])([U.text("edit  ")]),R.div([B.class_("delete_link di")])([R.button([W.type_(U.isPropButtonType)(i.ButtonButton.value),O.onClick(function(n){return new b.Just(new Y(!0))}),B.class_("delete light-silver hover-blue"+h.guard(h.monoidString)(n.deleteAsk)(" dn"))])([U.text("delete")]),R.span([B.class_("confirm red"+h.guard(h.monoidString)(!n.deleteAsk)(" dn"))])([R.button([W.type_(U.isPropButtonType)(i.ButtonButton.value),O.onClick(function(n){return new b.Just(new Y(!1))})])([U.text("cancel / ")]),R.button([W.type_(U.isPropButtonType)(i.ButtonButton.value),O.onClick(function(n){return new b.Just(Z.value)}),B.class_("red")])([U.text("destroy")])])])])])),o=function(n){return function(e){return b.Just.create(G.create(n(e)))}},u=R.form([O.onSubmit(function(n){return b.Just.create(K.create(n))})])([R.p([B.class_("mt2 mb1")])([U.text("title:")]),R.input([W.type_(U.isPropInputType)(l.InputText.value),B.class_("title w-100 mb1 pt1 f7 edit_form_input"),W.name("title"),W.value(n.edit_note.title),O.onValueChange(o(Q.create))]),R.br_,R.p([B.class_("mt2 mb1")])([U.text("description:")]),R.textarea([B.class_("description w-100 mb1 pt1 f7 edit_form_input"),W.name("text"),W.rows(30),W.value(n.edit_note.text),O.onValueChange(o(j.create))]),R.div([B.class_("edit_form_checkboxes mb3")])([R.input([W.type_(U.isPropInputType)(l.InputCheckbox.value),B.class_("is-markdown pointer"),W.id_("edit_ismarkdown"),W.name("ismarkdown"),W.checked(n.edit_note.isMarkdown),O.onChecked(o(V.create))]),U.text(" "),R.label([W.for("edit_ismarkdown"),B.class_("mr2")])([U.text("use markdown?")]),R.br_]),R.input([W.type_(U.isPropInputType)(l.InputSubmit.value),B.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),W.value("save")]),U.text(" "),R.input([W.type_(U.isPropInputType)(l.InputReset.value),B.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),W.value("cancel"),O.onClick(function(n){return new b.Just(new X(!1))})])]),f=R.p([B.class_("red")])([U.text("you killed this note")]);return n.destroyed?f:n.edit?u:a},eval:P.mkEval({handleAction:function(n){if(n instanceof z)return a.pure(N.applicativeHalogenM)(F.unit);if(n instanceof G)return D.modifying(N.monadStateHalogenM)(en(y.strongFn))(function(){if(n.value0 instanceof Q)return function(e){return{id:e.id,slug:e.slug,title:n.value0.value0,text:e.text,length:e.length,isMarkdown:e.isMarkdown,created:e.created,updated:e.updated}};if(n.value0 instanceof j)return function(e){return{id:e.id,slug:e.slug,title:e.title,text:n.value0.value0,length:e.length,isMarkdown:e.isMarkdown,created:e.created,updated:e.updated}};if(n.value0 instanceof V)return function(e){return{id:e.id,slug:e.slug,title:e.title,text:e.text,length:e.length,isMarkdown:n.value0.value0,created:e.created,updated:e.updated}};throw new Error("Failed pattern match at Component.NNote (line 162, column 19 - line 165, column 44): "+[n.value0.constructor.name])}());if(n instanceof Y)return u.modify_(N.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t});if(n instanceof Z)return o.bind(N.bindHalogenM)(p.use(N.monadStateHalogenM)($(m.strongForget)))(function(n){return o.discard(o.discardUnit)(N.bindHalogenM)(v.void(N.functorHalogenM)(_.liftAff(N.monadAffHalogenM(_.monadAffAff))(e.destroyNote(n.id))))(function(){return u.modify_(N.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.destroyed=!0,e})})});if(n instanceof X)return o.bind(N.bindHalogenM)(p.use(N.monadStateHalogenM)($(m.strongForget)))(function(e){return o.discard(o.discardUnit)(N.bindHalogenM)(D.assign(N.monadStateHalogenM)(en(y.strongFn))(e))(function(){return D.assign(N.monadStateHalogenM)(tn(y.strongFn))(n.value0)})});if(n instanceof K)return o.discard(o.discardUnit)(N.bindHalogenM)(I.liftEffect(N.monadEffectHalogenM(L.monadEffectAff))(q.preventDefault(n.value0)))(function(){return o.bind(N.bindHalogenM)(p.use(N.monadStateHalogenM)(en(m.strongForget)))(function(n){return o.bind(N.bindHalogenM)(_.liftAff(N.monadAffHalogenM(_.monadAffAff))(e.editNote(n)))(function(e){if(e.body instanceof f.Left)return a.pure(N.applicativeHalogenM)(F.unit);if(e.body instanceof f.Right)return 0===n.id?I.liftEffect(N.monadEffectHalogenM(L.monadEffectAff))(o.bindFlipped(S.bindEffect)(J.setHref(B.fromNullableStr(g.noteR)))(B._loc)):o.discard(o.discardUnit)(N.bindHalogenM)(D.assign(N.monadStateHalogenM)($(y.strongFn))(n))(function(){return D.assign(N.monadStateHalogenM)(tn(y.strongFn))(!1)});throw new Error("Failed pattern match at Component.NNote (line 188, column 5 - line 196, column 22): "+[e.body.constructor.name])})})});throw new Error("Failed pattern match at Component.NNote (line 157, column 3 - line 157, column 77): "+[n.constructor.name])},handleQuery:P.defaultEval.handleQuery,receive:P.defaultEval.receive,initialize:P.defaultEval.initialize,finalize:P.defaultEval.finalize})})}}(t["Component.NNote"]=t["Component.NNote"]||{}),function(n){"use strict";t["Control.Monad.Error.Class"],t["Control.Monad.Reader.Trans"],t["Control.Monad.Trans.Class"],t["Control.Semigroupoid"];var e=t["Effect.Aff"],r=(t.Prelude,function(n,e,t,r,a){this.Functor1=n,this.Monad0=e,this.fork=t,this.join=r,this.suspend=a}),a=new r(function(){return e.functorFiber},function(){return e.monadAff},e.forkAff,e.joinFiber,e.suspendAff);n.fork=function(n){return n.fork},n.join=function(n){return n.join},n.suspend=function(n){return n.suspend},n.MonadFork=r,n.monadForkAff=a}(t["Control.Monad.Fork.Class"]=t["Control.Monad.Fork.Class"]||{}),function(n){"use strict";(t["Effect.Console"]=t["Effect.Console"]||{}).warn=function(n){return function(){return console.warn(n),{}}}}(),function(n){"use strict";var e=t["Effect.Console"];t["Data.Show"],t["Data.Unit"],t.Effect;n.warn=e.warn}(t["Effect.Console"]=t["Effect.Console"]||{}),function(n){"use strict";t["Control.Applicative"],t["Control.Bind"];var e=t["Data.Foldable"],r=(t["Data.Function"],t["Data.List"],t["Data.List.Types"]),a=(t["Data.Map"],t["Data.Map.Internal"]),o=t["Data.Maybe"],u=(t["Data.Traversable"],t.Effect,t["Effect.Aff"],t["Effect.Ref"]),i=(t["Halogen.Component"],t["Halogen.Data.Slot"]),l=(t["Halogen.Query.EventSource"],t["Halogen.Query.HalogenM"],t.Prelude,t["Unsafe.Coerce"]),c=(t["Web.DOM"],l.unsafeCoerce),f=l.unsafeCoerce,s=l.unsafeCoerce,d=l.unsafeCoerce;n.mapDriverState=function(n){return function(e){return n(e)}},n.unDriverStateX=f,n.mkDriverStateXRef=d,n.renderStateX=function(n){return function(n){return f(function(e){return s(n(e.rendering))})}},n.renderStateX_=function(n){return function(t){return f(function(r){return e.traverse_(n)(e.foldableMaybe)(t)(r.rendering)})}},n.unRenderStateX=c,n.initDriverState=function(n){return function(e){return function(t){return function(l){return function(){var c=u.new({})(),f=u.new(i.empty)(),s=u.new(i.empty)(),v=u.new(t)(),p=u.new(new o.Just(r.Nil.value))(),m=u.new(new o.Just(r.Nil.value))(),g=u.new(o.Nothing.value)(),D=u.new(1)(),b=u.new(new o.Just(a.empty))(),h=u.new(a.empty)(),w={component:n,state:n.initialState(e),refs:a.empty,children:i.empty,childrenIn:f,childrenOut:s,selfRef:c,handlerRef:v,pendingQueries:p,pendingOuts:m,pendingHandlers:g,rendering:o.Nothing.value,fresh:D,subscriptions:b,forks:h,lifecycleHandlers:l};return u.write(w)(c)(),d(c)}}}}}}(t["Halogen.Aff.Driver.State"]=t["Halogen.Aff.Driver.State"]||{}),function(n){"use strict";(t["Unsafe.Reference"]=t["Unsafe.Reference"]||{}).reallyUnsafeRefEq=function(n){return function(e){return n===e}}}(),function(n){"use strict";var e=t["Unsafe.Reference"].reallyUnsafeRefEq;n.unsafeRefEq=e}(t["Unsafe.Reference"]=t["Unsafe.Reference"]||{}),function(n){"use strict";var e=t["Control.Applicative"],r=t["Control.Applicative.Free"],a=t["Control.Bind"],o=t["Control.Coroutine"],u=t["Control.Monad"],i=t["Control.Monad.Fork.Class"],l=t["Control.Monad.Free"],c=t["Control.Monad.Free.Trans"],f=t["Control.Monad.Trans.Class"],s=t["Control.Parallel"],d=t["Control.Parallel.Class"],v=(t["Control.Semigroupoid"],t["Data.Boolean"]),p=t["Data.Coyoneda"],m=t["Data.Eq"],g=t["Data.Foldable"],D=t["Data.Function"],b=t["Data.Functor"],h=(t["Data.List"],t["Data.List.Types"]),w=(t["Data.Map"],t["Data.Map.Internal"]),y=t["Data.Maybe"],E=t["Data.Ord"],M=(t["Data.Semiring"],t["Data.Tuple"],t["Data.Unit"]),C=t.Effect,A=t["Effect.Aff"],T=t["Effect.Class"],F=t["Effect.Exception"],H=t["Effect.Ref"],S=t["Halogen.Aff.Driver.State"],L=t["Halogen.Query.ChildQuery"],_=t["Halogen.Query.EventSource"],I=t["Halogen.Query.HalogenM"],k=t["Halogen.Query.HalogenQ"],P=t["Halogen.Query.Input"],x=(t.Prelude,t["Unsafe.Reference"]),U=function(n){return function(e){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(n)))(function(t){if(t instanceof y.Nothing)return e;if(t instanceof y.Just)return T.liftEffect(A.monadEffectAff)(H.write(new y.Just(new h.Cons(e,t.value0)))(n));throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 195, column 33 - line 197, column 54): "+[t.constructor.name])})}},R=function(n){return function(t){return a.discard(a.discardUnit)(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.write({initializers:h.Nil.value,finalizers:h.Nil.value})(n)))(function(){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(t))(function(t){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(n)))(function(n){return a.discard(a.discardUnit)(A.bindAff)(g.traverse_(A.applicativeAff)(h.foldableList)(i.fork(i.monadForkAff))(n.finalizers))(function(){return a.discard(a.discardUnit)(A.bindAff)(s.parSequence_(A.parallelAff)(h.foldableList)(n.initializers))(function(){return e.pure(A.applicativeAff)(t)})})})})})}},O=function(n){return function(e){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(e)))(function(e){return T.liftEffect(A.monadEffectAff)(H["modify'"](function(e){return{state:e+1|0,value:n(e)}})(e.fresh))})}},W=function(n){return function(e){return function(t){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(e)))(function(r){return N(n)(e)(r.component.eval(new k.Query(b.map(p.functorCoyoneda)(y.Just.create)(p.liftCoyoneda(t)),D.const(y.Nothing.value))))})}}},N=function n(t){return function(s){return function(p){var D;return l.foldFree(A.monadRecAff)((D=s,function(l){if(l instanceof I.State)return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(D)))(function(n){var r=l.value0(n.state);if(x.unsafeRefEq(n.state)(r.value1))return e.pure(A.applicativeAff)(r.value0);if(v.otherwise)return a.discard(a.discardUnit)(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.write({component:n.component,state:r.value1,refs:n.refs,children:n.children,childrenIn:n.childrenIn,childrenOut:n.childrenOut,selfRef:n.selfRef,handlerRef:n.handlerRef,pendingQueries:n.pendingQueries,pendingOuts:n.pendingOuts,pendingHandlers:n.pendingHandlers,rendering:n.rendering,fresh:n.fresh,subscriptions:n.subscriptions,forks:n.forks,lifecycleHandlers:n.lifecycleHandlers})(D)))(function(){return a.discard(a.discardUnit)(A.bindAff)(R(n.lifecycleHandlers)(t(n.lifecycleHandlers)(D)))(function(){return e.pure(A.applicativeAff)(r.value0)})});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 85, column 7 - line 91, column 21): "+[r.constructor.name])});if(l instanceof I.Subscribe)return a.bind(A.bindAff)(O(I.SubscriptionId)(D))(function(n){var r=l.value0(n);return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(D)))(function(u){return a.bind(A.bindAff)(i.fork(i.monadForkAff)(a.bind(A.bindAff)(r)(function(r){var l=a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(u.subscriptions)))(function(t){return a.discard(a.discardUnit)(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.modify_(b.map(y.functorMaybe)(w.delete(I.ordSubscriptionId)(n)))(u.subscriptions)))(function(){return e.when(A.applicativeAff)(y.maybe(!1)(w.member(I.ordSubscriptionId)(n))(t))(_.finalize(r.finalizer))})}),s=a.bind(c.bindFreeT(o.functorAwait)(A.monadAff))(o.await(A.monadAff))(function(r){return a.bind(c.bindFreeT(o.functorAwait)(A.monadAff))(f.lift(c.monadTransFreeT(o.functorAwait))(A.monadAff)(T.liftEffect(A.monadEffectAff)(H.read(u.subscriptions))))(function(u){return e.when(c.applicativeFreeT(o.functorAwait)(A.monadAff))(m.eq(y.eqMaybe(m.eqBoolean))(b.map(y.functorMaybe)(w.member(I.ordSubscriptionId)(n))(u))(new y.Just(!0)))(a.bind(c.bindFreeT(o.functorAwait)(A.monadAff))(f.lift(c.monadTransFreeT(o.functorAwait))(A.monadAff)(i.fork(i.monadForkAff)(B(t)(D)(new P.Action(r)))))(function(n){return s}))})});return a.discard(a.discardUnit)(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.modify_(b.map(y.functorMaybe)(w.insert(I.ordSubscriptionId)(n)(l)))(u.subscriptions)))(function(){return a.discard(a.discardUnit)(A.bindAff)(o.runProcess(A.monadRecAff)(o.pullFrom(A.monadRecAff)(s)(r.producer)))(function(){return _.finalize(l)})})})))(function(t){return e.pure(A.applicativeAff)(l.value1(n))})})});if(l instanceof I.Unsubscribe)return a.discard(a.discardUnit)(A.bindAff)((s=l.value0,function(n){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(n)))(function(n){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(n.subscriptions)))(function(n){return g.traverse_(A.applicativeAff)(g.foldableMaybe)(_.finalize)(a.bindFlipped(y.bindMaybe)(w.lookup(I.ordSubscriptionId)(s))(n))})})})(D))(function(){return e.pure(A.applicativeAff)(l.value1)});var s;if(l instanceof I.Lift)return l.value0;if(l instanceof I.ChildQuery)return function(n){return function(e){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(n)))(function(n){return L.unChildQueryBox(function(e){return b.map(A.functorAff)(e.value2)(d.sequential(A.parallelAff)(e.value0(A.applicativeParAff)(function(n){return d.parallel(A.parallelAff)(a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(n)))(function(n){return S.unDriverStateX(function(n){return W(t)(n.selfRef)(e.value1)})(n)}))})(n.children)))})(e)})}}(D)(l.value0);if(l instanceof I.Raise)return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(D)))(function(n){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(n.handlerRef)))(function(t){return a.discard(a.discardUnit)(A.bindAff)(U(n.pendingOuts)(t(l.value0)))(function(){return e.pure(A.applicativeAff)(l.value1)})})});if(l instanceof I.Par)return d.sequential(A.parallelAff)(r.retractFreeAp(A.applicativeParAff)(r.hoistFreeAp(function(e){return d.parallel(A.parallelAff)(n(t)(D)(e))})(l.value0)));if(l instanceof I.Fork)return a.bind(A.bindAff)(O(I.ForkId)(D))(function(r){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(D)))(function(o){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.new(!1)))(function(c){return a.bind(A.bindAff)(i.fork(i.monadForkAff)(A.finally(T.liftEffect(A.monadEffectAff)(function(){return H.modify_(w.delete(I.ordForkId)(r))(o.forks)(),H.write(!0)(c)()}))(n(t)(D)(l.value0))))(function(n){return a.discard(a.discardUnit)(A.bindAff)(T.liftEffect(A.monadEffectAff)(u.unlessM(C.monadEffect)(H.read(c))(H.modify_(w.insert(I.ordForkId)(r)(n))(o.forks))))(function(){return e.pure(A.applicativeAff)(l.value1(r))})})})})});if(l instanceof I.Kill)return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(D)))(function(n){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(n.forks)))(function(n){return a.discard(a.discardUnit)(A.bindAff)(g.traverse_(A.applicativeAff)(g.foldableMaybe)(A.killFiber(F.error("Cancelled")))(w.lookup(I.ordForkId)(l.value0)(n)))(function(){return e.pure(A.applicativeAff)(l.value1)})})});if(l instanceof I.GetRef)return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(D)))(function(n){return e.pure(A.applicativeAff)(l.value1(w.lookup(E.ordString)(l.value0)(n.refs)))});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 82, column 12 - line 146, column 33): "+[l.constructor.name])}))(p)}}},B=function(n){return function(e){return function(t){if(t instanceof P.RefUpdate)return T.liftEffect(A.monadEffectAff)(D.flip(H.modify_)(e)(S.mapDriverState(function(n){return{component:n.component,state:n.state,refs:w.alter(E.ordString)(D.const(t.value1))(t.value0)(n.refs),children:n.children,childrenIn:n.childrenIn,childrenOut:n.childrenOut,selfRef:n.selfRef,handlerRef:n.handlerRef,pendingQueries:n.pendingQueries,pendingOuts:n.pendingOuts,pendingHandlers:n.pendingHandlers,rendering:n.rendering,fresh:n.fresh,subscriptions:n.subscriptions,forks:n.forks,lifecycleHandlers:n.lifecycleHandlers}})));if(t instanceof P.Action)return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(e)))(function(r){return N(n)(e)(r.component.eval(new k.Action(t.value0,M.unit)))});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 51, column 20 - line 57, column 62): "+[t.constructor.name])}}};n.evalF=B,n.evalQ=W,n.evalM=N,n.handleLifecycle=R,n.queueOrRun=U}(t["Halogen.Aff.Driver.Eval"]=t["Halogen.Aff.Driver.Eval"]||{}),function(n){"use strict";var e=t["Control.Applicative"],r=t["Control.Bind"],a=t["Control.Coroutine"],o=t["Control.Monad.Error.Class"],u=t["Control.Monad.Fork.Class"],i=t["Control.Monad.Rec.Class"],l=t["Control.Parallel"],c=(t["Control.Semigroupoid"],t["Data.Either"]),f=t["Data.Foldable"],s=t["Data.Function"],d=t["Data.Functor"],v=t["Data.List"],p=t["Data.List.Types"],m=(t["Data.Map"],t["Data.Map.Internal"]),g=t["Data.Maybe"],D=t["Data.Ord"],b=(t["Data.Semiring"],t["Data.Traversable"],t["Data.Tuple"],t["Data.Unit"]),h=t.Effect,w=t["Effect.Aff"],y=t["Effect.Aff.AVar"],E=t["Effect.Class"],M=t["Effect.Console"],C=t["Effect.Exception"],A=t["Effect.Ref"],T=(t.Halogen,t["Halogen.Aff.Driver.Eval"]),F=t["Halogen.Aff.Driver.State"],H=t["Halogen.Component"],S=t["Halogen.Data.Slot"],L=t["Halogen.Query.EventSource"],_=t["Halogen.Query.HalogenQ"],I=t["Halogen.Query.Input"],k=(t.Prelude,A.new({initializers:p.Nil.value,finalizers:p.Nil.value})),P=w.runAff_(c.either(C.throwException)(s.const(e.pure(h.applicativeEffect)(b.unit)))),x=function(n){return function(){var e=A.read(n)();return A.write(g.Nothing.value)(n)(),f.for_(h.applicativeEffect)(f.foldableMaybe)(e)(function(n){return P(f.traverse_(w.applicativeAff)(p.foldableList)(u.fork(u.monadForkAff))(v.reverse(n)))})()}};n.runUI=function(n){return function(t){return function(U){var R=function(n){return function(e){return function(t){return H.unComponent(function(a){return function(){var o=k(),u=F.initDriverState(a)(t)(e)(o)(),i=A.read(n)();return A.write({initializers:p.Nil.value,finalizers:i.finalizers})(n)(),r.bindFlipped(h.bindEffect)(F.unDriverStateX(function(e){return W(n)(e.selfRef)}))(A.read(u))(),r.bindFlipped(h.bindEffect)(function(n){return function(e){return F.unDriverStateX(function(t){var a=T.evalM(W)(t.selfRef)(t.component.eval(new _.Initialize(b.unit)));return A.modify_(function(n){return{initializers:new p.Cons(r.discard(r.discardUnit)(w.bindAff)(l.parSequence_(w.parallelAff)(p.foldableList)(v.reverse(n.initializers)))(function(){return r.discard(r.discardUnit)(w.bindAff)(a)(function(){return E.liftEffect(w.monadEffectAff)(function(){return x(t.pendingQueries)(),x(t.pendingOuts)()})})}),e),finalizers:n.finalizers}})(n)})}}(n)(i.initializers))(A.read(u))(),u}})}}},O=function(t){return function(a){return function(o){return function(u){return H.unComponentSlot(function(i){return function(){var l=A.read(o)(),c=function(){var n=i.pop(l);if(n instanceof g.Just){A.write(n.value0.value1)(o)();var r=A.read(n.value0.value0)();return F.unDriverStateX(function(n){return function(){return s.flip(A.write)(n.handlerRef)(function(n){return g.maybe(e.pure(w.applicativeAff)(b.unit))(a)(i.output(n))})(),P(T.evalM(W)(n.selfRef)(n.component.eval(i.input)))()}})(r)(),n.value0.value0}if(n instanceof g.Nothing)return i.input instanceof _.Receive?R(t)(function(n){return g.maybe(e.pure(w.applicativeAff)(b.unit))(a)(i.output(n))})(i.input.value0)(i.component)():C.throw("Halogen internal error: slot input was not a Receive query")();throw new Error("Failed pattern match at Halogen.Aff.Driver (line 232, column 14 - line 246, column 7): "+[n.constructor.name])}(),f=d.map(h.functorEffect)(function(n){return g.isJust(i.get(n))})(A.read(u))();return e.when(h.applicativeEffect)(f)(M.warn("Halogen: Duplicate slot address was detected during rendering, unexpected results may occur"))(),A.modify_(i.set(c))(u)(),r.bind(h.bindEffect)(A.read(c))(F.renderStateX(h.functorEffect)(function(t){if(t instanceof g.Nothing)return C.throw("Halogen internal error: child was not initialized in renderChild");if(t instanceof g.Just)return e.pure(h.applicativeEffect)(n.renderChild(t.value0));throw new Error("Failed pattern match at Halogen.Aff.Driver (line 250, column 37 - line 252, column 50): "+[t.constructor.name])}))()}})}}}},W=function t(r){return function(a){return function(){var o=A.read(a)(),l=d.map(h.functorEffect)(g.isNothing)(A.read(o.pendingHandlers))();e.when(h.applicativeEffect)(l)(A.write(new g.Just(p.Nil.value))(o.pendingHandlers))(),A.write(S.empty)(o.childrenOut)(),A.write(o.children)(o.childrenIn)();var c=function(n){return T.queueOrRun(o.pendingHandlers)(d.void(w.functorAff)(T.evalF(t)(o.selfRef)(n)))},m=n.render(function(n){return P(c(n))})(O(r)(function(n){return T.queueOrRun(o.pendingQueries)(c(I.Action.create(n)))})(o.childrenIn)(o.childrenOut))(o.component.render(o.state))(o.rendering)(),D=A.read(o.childrenOut)(),y=A.read(o.childrenIn)();return S.foreachSlot(h.applicativeEffect)(y)(function(e){return function(){var t=A.read(e)();return F.renderStateX_(h.applicativeEffect)(n.removeChild)(t)(),N(r)(t)()}})(),s.flip(A.modify_)(o.selfRef)(F.mapDriverState(function(n){return{component:n.component,state:n.state,refs:n.refs,children:D,childrenIn:n.childrenIn,childrenOut:n.childrenOut,selfRef:n.selfRef,handlerRef:n.handlerRef,pendingQueries:n.pendingQueries,pendingOuts:n.pendingOuts,pendingHandlers:n.pendingHandlers,rendering:new g.Just(m),fresh:n.fresh,subscriptions:n.subscriptions,forks:n.forks,lifecycleHandlers:n.lifecycleHandlers}}))(),e.when(h.applicativeEffect)(l)(s.flip(i.tailRecM(i.monadRecEffect))(b.unit)(function(n){return function(){var n=A.read(o.pendingHandlers)();A.write(new g.Just(p.Nil.value))(o.pendingHandlers)(),f.traverse_(h.applicativeEffect)(f.foldableMaybe)(function(n){return P(f.traverse_(w.applicativeAff)(p.foldableList)(u.fork(u.monadForkAff))(v.reverse(n)))})(n)();var e=A.read(o.pendingHandlers)();return g.maybe(!1)(v.null)(e)?d.voidLeft(h.functorEffect)(A.write(g.Nothing.value)(o.pendingHandlers))(new i.Done(b.unit))():new i.Loop(b.unit)}}))()}}},N=function n(e){return F.unDriverStateX(function(t){return function(){var a;(a=t,function(){return r.bindFlipped(h.bindEffect)(f.traverse_(h.applicativeEffect)(f.foldableMaybe)(function(n){return P(f.traverse_(w.applicativeAff)(m.foldableMap)(function(n){return u.fork(u.monadForkAff)(L.finalize(n))})(n))}))(A.read(a.subscriptions))(),A.write(g.Nothing.value)(a.subscriptions)(),r.bindFlipped(h.bindEffect)(f.traverse_(h.applicativeEffect)(m.foldableMap)(function(n){return P(w.killFiber(C.error("finalized"))(n))}))(A.read(a.forks))(),A.write(m.empty)(a.forks)()})();var o=T.evalM(W)(t.selfRef)(t.component.eval(new _.Finalize(b.unit)));return A.modify_(function(n){return{initializers:n.initializers,finalizers:new p.Cons(o,n.finalizers)}})(e)(),S.foreachSlot(h.applicativeEffect)(t.children)(function(t){return function(){var r=A.read(t)();return n(e)(r)()}})()}})},B=function(e){return function(t){return function(a){return function(o){return E.liftEffect(w.monadEffectAff)(function(){return A.read(e)()?b.unit:(A.write(!0)(e)(),r.bindFlipped(h.bindEffect)(f.traverse_(h.applicativeEffect)(m.foldableMap)(function(n){return w.launchAff_(y.kill(C.error("disposed"))(n))}))(A.read(o))(),N(t)(a)(),F.unDriverStateX(function(e){return f.traverse_(h.applicativeEffect)(f.foldableMaybe)(n.dispose)(e.rendering)})(a)())})}}}};return r.bind(w.bindAff)(E.liftEffect(w.monadEffectAff)(k))(function(n){return r.bind(w.bindAff)(E.liftEffect(w.monadEffectAff)(A.new(0)))(function(i){return r.bind(w.bindAff)(E.liftEffect(w.monadEffectAff)(A.new(!1)))(function(l){return T.handleLifecycle(n)(function(){var v,p=A.new(m.empty)(),M=r.bindFlipped(h.bindEffect)(A.read)(R(n)((v=p,function(n){return r.bind(w.bindAff)(E.liftEffect(w.monadEffectAff)(A.read(v)))(function(e){return f.traverse_(w.applicativeAff)(m.foldableMap)(u.fork(u.monadForkAff))(d.map(m.functorMap)(y.put(n))(e))})}))(U)(t))();return F.unDriverStateX(function(t){return e.pure(h.applicativeEffect)({query:(v=l,function(n){return function(t){return r.bind(w.bindAff)(E.liftEffect(w.monadEffectAff)(A.read(v)))(function(r){return r?e.pure(w.applicativeAff)(g.Nothing.value):T.evalQ(W)(n)(t)})}})(t.selfRef),subscribe:(f=i,function(n){return function(e){return r.bind(w.bindAff)(y.empty)(function(t){return r.bind(w.bindAff)(E.liftEffect(w.monadEffectAff)(function(){var e=A.read(f)();return A.modify_(function(n){return n+1|0})(f)(),A.modify_(m.insert(D.ordInt)(e)(t))(n)(),e}))(function(i){var l=a.producer(w.monadAff)(d.map(w.functorAff)(c.either(s.const(new c.Right(b.unit)))(c.Left.create))(o.try(w.monadErrorAff)(y.take(t))));return d.void(w.functorAff)(u.fork(u.monadForkAff)(r.discard(r.discardUnit)(w.bindAff)(a.runProcess(w.monadRecAff)(a.connect(w.monadRecAff)(w.parallelAff)(l)(e)))(function(){return r.discard(r.discardUnit)(w.bindAff)(E.liftEffect(w.monadEffectAff)(A.modify_(m.delete(D.ordInt)(i))(n)))(function(){return y.kill(C.error("ended"))(t)})})))})})}})(p),dispose:B(l)(n)(M)(p)});var f,v})(M)()})})})})}}}}(t["Halogen.Aff.Driver"]=t["Halogen.Aff.Driver"]||{}),function(n){"use strict";var e=t["Control.Applicative"],r=t["Control.Bind"],a=(t["Control.Monad.Error.Class"],t["Control.Semigroupoid"],t["Data.Either"]),o=t["Data.Function"],u=(t["Data.Functor"],t["Data.Maybe"]),i=t["Data.Unit"],l=t.Effect,c=t["Effect.Aff"],f=t["Effect.Class"],s=t["Effect.Exception"],d=(t.Prelude,t["Web.DOM.ParentNode"]),v=(t["Web.Event.EventTarget"],t["Web.HTML"]),p=(t["Web.HTML.Event.EventTypes"],t["Web.HTML.HTMLDocument"]),m=(t["Web.HTML.HTMLDocument.ReadyState"],t["Web.HTML.HTMLElement"]),g=t["Web.HTML.Window"],D=c.runAff_(a.either(s.throwException)(o.const(e.pure(l.applicativeEffect)(i.unit))));n.selectElement=function(n){return r.bind(c.bindAff)(f.liftEffect(c.monadEffectAff)(r.bindFlipped(l.bindEffect)(r.composeKleisliFlipped(l.bindEffect)(function(e){return d.querySelector(n)(p.toParentNode(e))})(g.document))(v.window)))(function(n){return e.pure(c.applicativeAff)(r.bindFlipped(u.bindMaybe)(m.fromElement)(n))})},n.runHalogenAff=D}(t["Halogen.Aff.Util"]=t["Halogen.Aff.Util"]||{}),function(n){"use strict";var e=t["Control.Applicative"],r=t["Control.Bind"],a=t["Control.Category"],o=t["Data.Foldable"],u=(t["Data.Function"],t["Data.Functor"]),i=t["Data.HeytingAlgebra"],l=t["Data.Maybe"],c=t["Data.Newtype"],f=t["Data.Unit"],s=t.Effect,d=t["Effect.Aff"],v=t["Effect.Class"],p=t["Effect.Ref"],m=(t["Effect.Uncurried"],t["Halogen.Aff.Driver"]),g=t["Halogen.Aff.Driver.State"],D=t["Halogen.Component"],b=t["Halogen.HTML.Core"],h=(t["Halogen.Query.Input"],t["Halogen.VDom"],t["Halogen.VDom.DOM"]),w=t["Halogen.VDom.DOM.Prop"],y=t["Halogen.VDom.Machine"],E=t["Halogen.VDom.Thunk"],M=(t.Prelude,t["Unsafe.Reference"]),C=(t["Web.DOM.Document"],t["Web.DOM.Element"],t["Web.DOM.Node"]),A=t["Web.HTML"],T=t["Web.HTML.HTMLDocument"],F=t["Web.HTML.HTMLElement"],H=t["Web.HTML.Window"],S=function(n){return function(){var e=C.parentNode(n.node)();return o.traverse_(s.applicativeEffect)(o.foldableMaybe)(function(e){return C.removeChild(n.node)(e)})(e)()}},L=function(n){return function(t){return{render:function(r){return function(a){return function(o){return function(d){if(d instanceof l.Nothing)return function(){var e=p.new(a)(),i=function(n){return function(e){return function(t){var r=g.unRenderStateX(function(n){return n.node}),a=function(n){return n instanceof l.Just?y.halt(n.value0):f.unit};return{buildWidget:function(n){var t=E.buildThunk(c.unwrap(b.newtypeHTML))(n),o=function(n){var t=p.read(e)()(n)(),o=r(t);return y.mkStep(new y.Step(o,l.Nothing.value,i,a))},u=function(n){if(n instanceof D.ComponentSlot)return o(n.value0);if(n instanceof D.ThunkSlot){var e=t(n.value0);return y.mkStep(new y.Step(y.extract(e),new l.Just(e),i,a))}throw new Error("Failed pattern match at Halogen.VDom.Driver (line 85, column 7 - line 90, column 75): "+[n.constructor.name])},i=function n(e,t){if(e instanceof l.Just){if(t instanceof D.ComponentSlot)return y.halt(e.value0),o(t.value0);if(t instanceof D.ThunkSlot){var r=y.step(e.value0,t.value0);return y.mkStep(new y.Step(y.extract(r),new l.Just(r),n,a))}throw new Error("Failed pattern match at Halogen.VDom.Driver (line 98, column 22 - line 104, column 79): "+[t.constructor.name])}return u(t)};return u},buildAttributes:w.buildProp(n),document:t}}}}(r)(e)(n),d=h.buildVDom(i)(o),v=y.extract(d);return u.void(s.functorEffect)(C.appendChild(v)(F.toNode(t)))(),{machine:d,node:v,renderChildRef:e}};if(d instanceof l.Just)return function(){p.write(a)(d.value0.renderChildRef)();var n=C.parentNode(d.value0.node)(),t=C.nextSibling(d.value0.node)(),r=y.step(d.value0.machine,o),c=y.extract(r);return e.when(s.applicativeEffect)(i.not(i.heytingAlgebraFunction(i.heytingAlgebraFunction(i.heytingAlgebraBoolean)))(M.unsafeRefEq)(d.value0.node)(c))(function(n){return function(t){return function(r){return t instanceof l.Just&&r instanceof l.Just?u.void(s.functorEffect)(C.insertBefore(n)(t.value0)(r.value0)):t instanceof l.Nothing&&r instanceof l.Just?u.void(s.functorEffect)(C.appendChild(n)(r.value0)):e.pure(s.applicativeEffect)(f.unit)}}}(c)(t)(n))(),{machine:r,node:c,renderChildRef:d.value0.renderChildRef}};throw new Error("Failed pattern match at Halogen.VDom.Driver (line 159, column 5 - line 175, column 80): "+[d.constructor.name])}}}},renderChild:a.identity(a.categoryFn),removeChild:S,dispose:S}}};n.runUI=function(n){return function(e){return function(t){return r.bind(d.bindAff)(v.liftEffect(d.monadEffectAff)(u.map(s.functorEffect)(T.toDocument)(r.bindFlipped(s.bindEffect)(H.document)(A.window))))(function(r){return m.runUI(L(r)(t))(n)(e)})}}}}(t["Halogen.VDom.Driver"]=t["Halogen.VDom.Driver"]||{}),function(n){"use strict";(t["Main"]=t["Main"]||{})._mainImpl=function(){return window.PS=t}}(),function(n){"use strict";var e=t.Main,r=t.App,a=t["Component.AccountSettings"],o=t["Component.Add"],u=t["Component.BList"],i=t["Component.NList"],l=t["Component.NNote"],c=t["Control.Bind"],f=(t["Control.Semigroupoid"],t["Data.Foldable"]),s=(t["Data.Function"],t["Data.Functor"]),d=t["Data.Unit"],v=t.Effect,p=t["Effect.Aff"],m=t["Effect.Class"],g=(t["Halogen.Aff"],t["Halogen.Aff.Util"]),D=t["Halogen.VDom.Driver"],b=(t.Model,t.Prelude,t["Web.DOM.Element"]),h=(t["Web.DOM.ParentNode"],t["Web.Event.Event"]),w=t["Web.HTML.HTMLElement"],y=c.bind(p.bindAff)(g.selectElement(".user_footer"))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return m.liftEffect(p.monadEffectAff)(b.removeAttribute("hidden")(w.toElement(n)))})),E=e._mainImpl;n.main=E,n.logoutE=function(n){return c.bindFlipped(v.bindEffect)(function(n){return s.void(v.functorEffect)(p.launchAff(r.logout(n)))})(h.preventDefault(n))},n.renderBookmarks=function(n){return function(e){return g.runHalogenAff(c.bind(p.bindAff)(g.selectElement(n))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return c.discard(c.discardUnit)(p.bindAff)(s.void(p.functorAff)(D.runUI(u.blist(e))(d.unit)(n)))(function(){return y})})))}},n.renderAddForm=function(n){return function(e){return g.runHalogenAff(c.bind(p.bindAff)(g.selectElement(n))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return D.runUI(o.addbmark(e))(d.unit)(n)})))}},n.renderNotes=function(n){return function(e){return g.runHalogenAff(c.bind(p.bindAff)(g.selectElement(n))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return c.discard(c.discardUnit)(p.bindAff)(s.void(p.functorAff)(D.runUI(i.nlist(e))(d.unit)(n)))(function(){return y})})))}},n.renderNote=function(n){return function(e){return g.runHalogenAff(c.bind(p.bindAff)(g.selectElement(n))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return s.void(p.functorAff)(D.runUI(l.nnote(e))(d.unit)(n))})))}},n.renderAccountSettings=function(n){return function(e){return g.runHalogenAff(c.bind(p.bindAff)(g.selectElement(n))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return s.void(p.functorAff)(D.runUI(a.usetting(e))(d.unit)(n))})))}},n.showFooter=y,n._mainImpl=e._mainImpl}(t.Main=t.Main||{}),t.Main.main(); +var n=require("process");function e(n){return(e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n})(n)}var t={};!function(e){"use strict";var r;(t["Affjax"]=t["Affjax"]||{})._ajax=(r={},"undefined"==typeof module||!module.require||void 0!==n&&n.versions.electron?(r.newXHR=function(){return new XMLHttpRequest},r.fixupUrl=function(n){return n||"/"},r.getResponse=function(n){return n.response}):(r.newXHR=function(){return new(module.require("xhr2"))},r.fixupUrl=function(n){var e=module.require("url"),t=e.parse(n);return t.protocol=t.protocol||"http:",t.hostname=t.hostname||"localhost",e.format(t)},r.getResponse=function(n){return n.response}),function(n,e){return function(t,a){var o=r.newXHR(),u=r.fixupUrl(e.url);if(o.open(e.method||"GET",u,!0,e.username,e.password),e.headers)try{for(var i,l=0;null!=(i=e.headers[l]);l++)o.setRequestHeader(i.field,i.value)}catch(f){t(f)}var c=function(n){return function(){t(new Error(n+": "+e.method+" "+e.url))}};return o.onerror=c("AJAX request failed"),o.ontimeout=c("AJAX request timed out"),o.onload=function(){a({status:o.status,statusText:o.statusText,headers:o.getAllResponseHeaders().split("\r\n").filter(function(n){return n.length>0}).map(function(e){var t=e.indexOf(":");return n(e.substring(0,t))(e.substring(t+2))}),body:r.getResponse(o)})},o.responseType=e.responseType,o.withCredentials=e.withCredentials,o.send(e.content),function(n,e,t){try{o.abort()}catch(f){return e(f)}return t()}}})}(),function(n){"use strict";n.fromObject=function(n){return n},n.stringify=function(n){return JSON.stringify(n)}}(t["Data.Argonaut.Core"]=t["Data.Argonaut.Core"]||{}),function(n){"use strict";(t["Data.Eq"]=t["Data.Eq"]||{}).refEq=function(n){return function(e){return n===e}}}(),function(n){"use strict";n.boolConj=function(n){return function(e){return n&&e}},n.boolDisj=function(n){return function(e){return n||e}},n.boolNot=function(n){return!n}}(t["Data.HeytingAlgebra"]=t["Data.HeytingAlgebra"]||{}),function(n){"use strict";t["Data.Symbol"];var e=function(){function n(){}return n.value=new n,n}();n.IsSymbol=function(n){this.reflectSymbol=n},n.reflectSymbol=function(n){return n.reflectSymbol},n.SProxy=e}(t["Data.Symbol"]=t["Data.Symbol"]||{}),function(n){"use strict";(t["Data.Unit"]=t["Data.Unit"]||{}).unit={}}(),function(n){"use strict";(t["Data.Show"]=t["Data.Show"]||{}).showIntImpl=function(n){return n.toString()}}(),function(n){"use strict";(t["Record.Unsafe"]=t["Record.Unsafe"]||{}).unsafeGet=function(n){return function(e){return e[n]}}}(),function(n){"use strict";var e=t["Record.Unsafe"];n.unsafeGet=e.unsafeGet}(t["Record.Unsafe"]=t["Record.Unsafe"]||{}),function(n){"use strict";var e=function(){function n(){}return n.value=new n,n}();n.RLProxy=e}(t["Type.Data.RowList"]=t["Type.Data.RowList"]||{}),function(n){"use strict";var e=t["Data.Show"],r=(t["Data.Symbol"],t["Record.Unsafe"],t["Type.Data.RowList"],function(n){this.show=n}),a=new r(e.showIntImpl);n.Show=r,n.show=function(n){return n.show},n.showInt=a}(t["Data.Show"]=t["Data.Show"]||{}),function(n){"use strict";var e=t["Data.Unit"];t["Data.Show"];n.unit=e.unit}(t["Data.Unit"]=t["Data.Unit"]||{}),function(n){"use strict";var e=t["Data.HeytingAlgebra"],r=(t["Data.Symbol"],t["Data.Unit"],t["Record.Unsafe"],t["Type.Data.Row"],t["Type.Data.RowList"],function(n,e,t,r,a,o){this.conj=n,this.disj=e,this.ff=t,this.implies=r,this.not=a,this.tt=o}),a=function(n){return n.tt},o=function(n){return n.not},u=function(n){return n.implies},i=function(n){return n.ff},l=function(n){return n.disj},c=new r(e.boolConj,e.boolDisj,!1,function(n){return function(e){return l(c)(o(c)(n))(e)}},e.boolNot,!0),f=function(n){return n.conj};n.HeytingAlgebra=r,n.tt=a,n.ff=i,n.implies=u,n.conj=f,n.disj=l,n.not=o,n.heytingAlgebraBoolean=c,n.heytingAlgebraFunction=function(n){return new r(function(e){return function(t){return function(r){return f(n)(e(r))(t(r))}}},function(e){return function(t){return function(r){return l(n)(e(r))(t(r))}}},function(e){return i(n)},function(e){return function(t){return function(r){return u(n)(e(r))(t(r))}}},function(e){return function(t){return o(n)(e(t))}},function(e){return a(n)})}}(t["Data.HeytingAlgebra"]=t["Data.HeytingAlgebra"]||{}),function(n){"use strict";t["Data.Show"];n.absurd=function(n){return function(n){for(var e;;)e=void(n=n);return e}(n)}}(t["Data.Void"]=t["Data.Void"]||{}),function(n){"use strict";var e=t["Data.Eq"],r=(t["Data.HeytingAlgebra"],t["Data.Symbol"],t["Data.Unit"],t["Data.Void"],t["Record.Unsafe"],t["Type.Data.RowList"],function(n){this.eq=n}),a=new r(function(n){return function(n){return!0}}),o=new r(e.refEq),u=new r(e.refEq),i=new r(e.refEq),l=new r(e.refEq);n.Eq=r,n.eq=function(n){return n.eq},n.eqBoolean=l,n.eqInt=u,n.eqChar=i,n.eqString=o,n.eqUnit=a}(t["Data.Eq"]=t["Data.Eq"]||{}),function(n){"use strict";var e=function(n){this.compose=n},t=new e(function(n){return function(e){return function(t){return n(e(t))}}});n.compose=function(n){return n.compose},n.Semigroupoid=e,n.semigroupoidFn=t}(t["Control.Semigroupoid"]=t["Control.Semigroupoid"]||{}),function(n){"use strict";var e=t["Control.Semigroupoid"],r=function(n,e){this.Semigroupoid0=n,this.identity=e},a=new r(function(){return e.semigroupoidFn},function(n){return n});n.Category=r,n.identity=function(n){return n.identity},n.categoryFn=a}(t["Control.Category"]=t["Control.Category"]||{}),function(n){"use strict";(t["Data.Boolean"]=t["Data.Boolean"]||{}).otherwise=!0}(),function(n){"use strict";(t["Data.Ord.Unsafe"]=t["Data.Ord.Unsafe"]||{}).unsafeCompareImpl=function(n){return function(e){return function(t){return function(r){return function(a){return r0?Math.floor(n/e):-Math.floor(n/-e)}},n.intMod=function(n){return function(e){if(0===e)return 0;var t=Math.abs(e);return(n%t+t)%t}}}(t["Data.EuclideanRing"]=t["Data.EuclideanRing"]||{}),function(n){"use strict";var e=t["Data.Ring"],r=(t["Data.Semiring"],t["Data.Symbol"],t["Data.Unit"],function(n){this.Ring0=n}),a=new r(function(){return e.ringInt});n.CommutativeRing=r,n.commutativeRingInt=a}(t["Data.CommutativeRing"]=t["Data.CommutativeRing"]||{}),function(n){"use strict";var e=t["Data.EuclideanRing"],r=(t["Data.BooleanAlgebra"],t["Data.CommutativeRing"]),a=(t["Data.Eq"],t["Data.HeytingAlgebra"],t["Data.Ring"],t["Data.Semiring"],function(n,e,t,r){this.CommutativeRing0=n,this.degree=e,this.div=t,this.mod=r}),o=new a(function(){return r.commutativeRingInt},e.intDegree,e.intDiv,e.intMod);n.EuclideanRing=a,n.degree=function(n){return n.degree},n.div=function(n){return n.div},n.mod=function(n){return n.mod},n.euclideanRingInt=o}(t["Data.EuclideanRing"]=t["Data.EuclideanRing"]||{}),function(n){"use strict";t["Data.Boolean"],t["Data.Eq"],t["Data.EuclideanRing"],t["Data.Ord"],t["Data.Ordering"];var e=t["Data.Semigroup"],r=(t["Data.Symbol"],t["Data.Unit"],t["Record.Unsafe"],t["Type.Data.RowList"],function(n,e){this.Semigroup0=n,this.mempty=e}),a=new r(function(){return e.semigroupString},""),o=new r(function(){return e.semigroupArray},[]),u=function(n){return n.mempty};n.Monoid=r,n.mempty=u,n.guard=function(n){return function(e){return function(t){if(e)return t;if(!e)return u(n);throw new Error("Failed pattern match at Data.Monoid (line 74, column 1 - line 74, column 49): "+[e.constructor.name,t.constructor.name])}}},n.monoidFn=function(n){return new r(function(){return e.semigroupFn(n.Semigroup0())},function(e){return u(n)})},n.monoidString=a,n.monoidArray=o}(t["Data.Monoid"]=t["Data.Monoid"]||{}),function(n){"use strict";t["Control.Alt"],t["Control.Alternative"],t["Control.Applicative"];var e=t["Control.Apply"],r=t["Control.Bind"],a=t["Control.Category"],o=(t["Control.Extend"],t["Control.Monad"],t["Control.MonadZero"],t["Control.Plus"],t["Data.Bounded"],t["Data.Eq"]),u=t["Data.Function"],i=t["Data.Functor"],l=(t["Data.Functor.Invariant"],t["Data.Monoid"],t["Data.Ord"],t["Data.Ordering"],t["Data.Semigroup"],t["Data.Show"],t["Data.Unit"],t.Prelude,function(){function n(){}return n.value=new n,n}()),c=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),f=function(n){return function(e){return function(t){if(t instanceof l)return n;if(t instanceof c)return e(t.value0);throw new Error("Failed pattern match at Data.Maybe (line 217, column 1 - line 217, column 51): "+[n.constructor.name,e.constructor.name,t.constructor.name])}}},s=f(!0)(u.const(!1)),d=f(!1)(u.const(!0)),v=new i.Functor(function(n){return function(e){return e instanceof c?new c(n(e.value0)):l.value}}),p=new e.Apply(function(){return v},function(n){return function(e){if(n instanceof c)return i.map(v)(n.value0)(e);if(n instanceof l)return l.value;throw new Error("Failed pattern match at Data.Maybe (line 67, column 1 - line 67, column 35): "+[n.constructor.name,e.constructor.name])}}),m=new r.Bind(function(){return p},function(n){return function(e){if(n instanceof c)return e(n.value0);if(n instanceof l)return l.value;throw new Error("Failed pattern match at Data.Maybe (line 125, column 1 - line 125, column 33): "+[n.constructor.name,e.constructor.name])}});n.Nothing=l,n.Just=c,n.maybe=f,n.fromMaybe=function(n){return f(n)(a.identity(a.categoryFn))},n.isJust=d,n.isNothing=s,n.fromJust=function(n){return function(n){if(n instanceof c)return n.value0;throw new Error("Failed pattern match at Data.Maybe (line 268, column 1 - line 268, column 46): "+[n.constructor.name])}},n.functorMaybe=v,n.applyMaybe=p,n.bindMaybe=m,n.eqMaybe=function(n){return new o.Eq(function(e){return function(t){return e instanceof l&&t instanceof l||e instanceof c&&t instanceof c&&o.eq(n)(e.value0)(t.value0)}})}}(t["Data.Maybe"]=t["Data.Maybe"]||{}),function(n){"use strict";n.empty={},n._lookup=function(n,e,t,r){return t in r?e(r[t]):n}}(t["Foreign.Object"]=t["Foreign.Object"]||{}),function(n){"use strict";n.length=function(n){return n.length},n.cons=function(n){return function(e){return[n].concat(e)}},n.snoc=function(n){return function(e){var t=n.slice();return t.push(e),t}},n.concat=function(n){if(n.length<=1e4)return Array.prototype.concat.apply([],n);for(var e=[],t=0,r=n.length;t=0;a--)r=n(t[a])(r);return r}}},n.foldlArray=function(n){return function(e){return function(t){for(var r=e,a=t.length,o=0;o=0&&n0)&&(b=F,w=j._3(Q)));break;case m:W++,O=new h(v,new h(D,w,y),O,P),b=F,w=P&&P!==N?j._1.killed(n.fromLeft(P))(j._2):y?j._1.failed(n.fromLeft(y))(j._2):j._1.completed(n.fromRight(w))(j._2),y=null;break;case g:W++,O=new h(v,new h(D,w,y),O,P),b=F,w=j._1;break;case D:W--,b=_,w=j._1,y=j._2}break;case I:for(var V in B)B.hasOwnProperty(V)&&(q=q&&B[V].rethrow,E(B[V].handler(w)));return B=null,void(P&&y?setTimeout(function(){throw n.fromLeft(y)},0):n.isLeft(w)&&q&&setTimeout(function(){if(q)throw n.fromLeft(w)},0));case T:b=F;break;case L:return}}function Q(n){return function(){if(b===I)return q=q&&n.rethrow,n.handler(w)(),function(){};var e=N++;return(B=B||{})[e]=n,function(){null!==B&&delete B[e]}}}return{kill:function(e,t){return function(){if(b===I)return t(n.right(void 0))(),function(){};var r=Q({rethrow:!1,handler:function(){return t(n.right(void 0))}})();switch(b){case T:P=n.left(e),b=I,w=P,J(d);break;case L:null===P&&(P=n.left(e)),0===W&&(b===L&&(O=new h(v,new h(g,w(e)),O,P)),b=_,w=null,y=null,J(++d));break;default:null===P&&(P=n.left(e)),0===W&&(b=_,w=null,y=null)}return r}},join:function(n){return function(){var e=Q({rethrow:!1,handler:n})();return b===T&&J(d),e}},onComplete:Q,isSuspended:function(){return b===T},run:function(){b===T&&(A.isDraining()?J(d):A.enqueue(function(){J(d)}))}}}function P(e,t,r,a){var u=0,i={},l=0,c={},p=new Error("[ParAff] Early exit"),m=null,g=n;function D(t,r,a){var o,u,l=r,c=null,p=null,m=0,g={};n:for(;;)switch(o=null,l.tag){case b:if(l._3===n&&(o=i[l._1],g[m++]=o.kill(t,function(n){return function(){0===--m&&a(n)()}})),null===c)break n;l=c._2,null===p?c=null:(c=p._1,p=p._2);break;case f:l=l._2;break;case s:case d:c&&(p=new h(v,c,p)),c=l,l=l._1}if(0===m)a(e.right(void 0))();else for(u=0,o=m;u=r.bottom(r.boundedInt)&&n<=r.top(r.boundedInt)?new a.Just(e.fromCharCode(n)):a.Nothing.value},v=new u(function(){return o.ordChar},s(d)(e.toCharCode),f(d)(e.toCharCode)),p=new i(function(){return r.boundedChar},function(){return v},e.toCharCode(r.top(r.boundedChar))-e.toCharCode(r.bottom(r.boundedChar))|0,e.toCharCode,d);n.Enum=u,n.succ=function(n){return n.succ},n.pred=function(n){return n.pred},n.BoundedEnum=i,n.cardinality=function(n){return n.cardinality},n.toEnum=l,n.fromEnum=c,n.toEnumWithDefaults=function(n){return function(e){return function(t){return function(o){var u=l(n)(o);if(u instanceof a.Just)return u.value0;if(u instanceof a.Nothing)return o1){var t=o.fromEnum(o.boundedEnumChar)(f.charAt(1)(n));return p(t)?v(e)(t):e}return e}),h=e._toCodePointArray(function(n){return d.unfoldr(d.unfoldableArray)(D)(n)})(b),w=function(n){return c.singleton(o.toEnumWithDefaults(o.boundedEnumChar)(a.bottom(a.boundedChar))(a.top(a.boundedChar))(n))},y=e._singleton(function(n){if(n<=65535)return w(n);var e=u.div(u.euclideanRingInt)(n-65536|0)(1024)+55296|0,t=u.mod(u.euclideanRingInt)(n-65536|0)(1024)+56320|0;return w(e)+w(t)}),E=e._take(function n(e){return function(t){if(e<1)return"";var r=g(t);return r instanceof l.Just?y(r.value0.head)+n(e-1|0)(r.value0.tail):t}});n.singleton=y,n.toCodePointArray=h,n.uncons=g,n.length=function(n){return r.length(h(n))},n.take=E,n.drop=function(n){return function(e){return c.drop(c.length(E(n)(e)))(e)}}}(t["Data.String.CodePoints"]=t["Data.String.CodePoints"]||{}),function(n){"use strict";t["Control.Applicative"];var e=t["Control.Bind"],r=(t["Control.Monad.Maybe.Trans"],t["Control.Semigroupoid"],t["Data.Array"]),a=(t["Data.Eq"],t["Data.Foldable"]),o=(t["Data.Function"],t["Data.Functor"]),u=(t["Data.HeytingAlgebra"],t["Data.Maybe"]),i=t["Data.Nullable"],l=(t["Data.String"],t["Data.String.CodePoints"]),c=t["Data.String.Common"],f=(t["Data.String.Pattern"],t["Data.Tuple"]),s=(t["Data.Unit"],t.Effect),d=t["Global.Unsafe"],v=(t.Halogen,t["Halogen.HTML"],t["Halogen.HTML.Core"]),p=t["Halogen.HTML.Properties"],m=(t["Partial.Unsafe"],t.Prelude,t["Web.DOM"],t["Web.DOM.Document"],t["Web.DOM.Element"],t["Web.DOM.NodeList"],t["Web.DOM.NonElementParentNode"],t["Web.DOM.ParentNode"],t["Web.HTML"]),g=(t["Web.HTML.HTMLDocument"],t["Web.HTML.HTMLElement"],t["Web.HTML.Location"]),D=t["Web.HTML.Window"],b=function(n){var e,t=function(n){return d.unsafeDecodeURIComponent(c.replaceAll("+")(" ")(n))},a="#"===(e=l.take(1)(n))||"?"===e?l.drop(1)(n):n;return r.mapMaybe(function(n){var e=c.split("=")(n);return 1===e.length?new u.Just(new f.Tuple(t(e[0]),u.Nothing.value)):2===e.length?new u.Just(new f.Tuple(t(e[0]),new u.Just(t(e[1])))):u.Nothing.value})(r.filter(function(n){return""!==n})(c.split("&")(a)))},h=e.bindFlipped(s.bindEffect)(D.location)(m.window);n.class_=function(n){return p.class_(v.ClassName(n))},n.attr=function(n){return p.attr(n)},n._loc=h,n._curQuerystring=function(){var n=h(),e=g.search(n)();return b(e)},n._parseQueryString=b,n._lookupQueryStringValue=function(n){return function(t){return e.join(u.bindMaybe)(o.map(u.functorMaybe)(f.snd)(a.find(a.foldableArray)(function(n){return f.fst(n)===t})(n)))}},n.fromNullableStr=function(n){return u.fromMaybe("")(i.toMaybe(n))}}(t.Util=t.Util||{}),function(n){"use strict";var e=t.App,r=t["Control.Bind"],a=(t["Control.Semigroupoid"],t["DOM.HTML.Indexed.InputType"]),o=t["Data.Function"],u=t["Data.Functor"],i=(t["Data.Lens"],t["Data.Lens.Getter"]),l=t["Data.Lens.Internal.Forget"],c=t["Data.Lens.Lens"],f=t["Data.Lens.Setter"],s=t["Data.Maybe"],d=t["Data.Profunctor.Strong"],v=t["Data.Unit"],p=(t["Effect.Aff"],t["Effect.Aff.Class"]),m=t.Globals,g=(t.Halogen,t["Halogen.Component"]),D=(t["Halogen.HTML"],t["Halogen.HTML.Core"]),b=t["Halogen.HTML.Elements"],h=t["Halogen.HTML.Events"],w=t["Halogen.HTML.Properties"],y=t["Halogen.Query.HalogenM"],E=(t.Model,t.Prelude,t.Util),M=(t["Web.Event.Event"],function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}()),C=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),A=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),T=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),F=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),H=function(n){return c.lens(function(n){return n.us})(function(n){return function(n){return{us:n}}})(n)};n._us=H,n.UEditField=T,n.USubmit=F,n.EarchiveDefault=M,n.EprivateDefault=C,n.EprivacyLock=A,n.usetting=function(n){var t;m["app'"](v.unit);return g.mkComponent({initialState:o.const((t=n,{us:t})),render:function(n){var e=function(n){return function(e){return s.Just.create(T.create(n(e)))}};return b.div([E.class_("settings-form")])([b.div([E.class_("fw7 mb2")])([D.text("Account Settings")]),b.div([E.class_("flex items-center mb2")])([b.input([w.type_(D.isPropInputType)(a.InputCheckbox.value),E.class_("pointer mr2"),w.id_("archiveDefault"),w.name("archiveDefault"),w.checked(n.us.archiveDefault),h.onChecked(e(M.create))]),b.label([w.for("archiveDefault"),E.class_("lh-copy")])([D.text("Archive Non-Private Bookmarks (archive.li)")])]),b.div([E.class_("flex items-center mb2")])([b.input([w.type_(D.isPropInputType)(a.InputCheckbox.value),E.class_("pointer mr2"),w.id_("privateDefault"),w.name("privateDefault"),w.checked(n.us.privateDefault),h.onChecked(e(C.create))]),b.label([w.for("privateDefault"),E.class_("lh-copy")])([D.text("Default new bookmarks to Private")])]),b.div([E.class_("flex items-center mb2")])([b.input([w.type_(D.isPropInputType)(a.InputCheckbox.value),E.class_("pointer mr2"),w.id_("privacyLock"),w.name("privacyLock"),w.checked(n.us.privacyLock),h.onChecked(e(A.create))]),b.label([w.for("privacyLock"),E.class_("lh-copy")])([D.text("Privacy Lock (Private Account)")])])])},eval:g.mkEval({handleAction:function(n){if(n instanceof T)return r.discard(r.discardUnit)(y.bindHalogenM)(f.modifying(y.monadStateHalogenM)(H(d.strongFn))(function(){if(n.value0 instanceof M)return function(e){return{archiveDefault:n.value0.value0,privateDefault:e.privateDefault,privacyLock:e.privacyLock}};if(n.value0 instanceof C)return function(e){return{archiveDefault:e.archiveDefault,privateDefault:n.value0.value0,privacyLock:e.privacyLock}};if(n.value0 instanceof A)return function(e){return{archiveDefault:e.archiveDefault,privateDefault:e.privateDefault,privacyLock:n.value0.value0}};throw new Error("Failed pattern match at Component.AccountSettings (line 80, column 12 - line 83, column 46): "+[n.value0.constructor.name])}()))(function(){return r.bind(y.bindHalogenM)(i.use(y.monadStateHalogenM)(H(l.strongForget)))(function(n){return u.void(y.functorHalogenM)(p.liftAff(y.monadAffHalogenM(p.monadAffAff))(e.editAccountSettings(n)))})});if(n instanceof F)return r.bind(y.bindHalogenM)(i.use(y.monadStateHalogenM)(H(l.strongForget)))(function(n){return u.void(y.functorHalogenM)(p.liftAff(y.monadAffHalogenM(p.monadAffAff))(e.editAccountSettings(n)))});throw new Error("Failed pattern match at Component.AccountSettings (line 78, column 3 - line 78, column 69): "+[n.constructor.name])},handleQuery:g.defaultEval.handleQuery,receive:g.defaultEval.receive,initialize:g.defaultEval.initialize,finalize:g.defaultEval.finalize})})}}(t["Component.AccountSettings"]=t["Component.AccountSettings"]||{}),function(n){"use strict";var e=t.App,r=t["Control.Bind"],a=t["Control.Monad.State.Class"],o=(t["Control.Semigroupoid"],t["DOM.HTML.Indexed.ButtonType"]),u=t["DOM.HTML.Indexed.InputType"],i=(t["Data.Array"],t["Data.Foldable"],t["Data.Function"]),l=t["Data.Functor"],c=(t["Data.HeytingAlgebra"],t["Data.Lens"],t["Data.Lens.Getter"]),f=t["Data.Lens.Internal.Forget"],s=t["Data.Lens.Lens"],d=t["Data.Lens.Setter"],v=t["Data.Maybe"],p=t["Data.Monoid"],m=(t["Data.Ord"],t["Data.Profunctor.Strong"]),g=t["Data.Semigroup"],D=(t["Data.String"],t["Data.String.Common"]),b=(t["Data.String.Pattern"],t["Data.Tuple"]),h=t["Data.Unit"],w=t["Effect.Aff"],y=t["Effect.Aff.Class"],E=t["Effect.Class"],M=t.Globals,C=(t.Halogen,t["Halogen.Component"]),A=(t["Halogen.HTML"],t["Halogen.HTML.Core"]),T=t["Halogen.HTML.Elements"],F=t["Halogen.HTML.Events"],H=t["Halogen.HTML.Properties"],S=t["Halogen.Query.HalogenM"],L=(t.Model,t.Prelude,t.Util),_=t["Web.Event.Event"],I=t["Web.HTML"],k=t["Web.HTML.Location"],P=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),x=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),U=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),R=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),O=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),W=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),N=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),B=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),J=function(){function n(){}return n.value=new n,n}(),Q=function(n){return s.lens(function(n){return n.edit_bm})(function(n){return function(e){return{edit_bm:e,bm:n.bm,deleteAsk:n.deleteAsk,destroyed:n.destroyed}}})(n)},j=function(n){return s.lens(function(n){return n.bm})(function(n){return function(e){return{bm:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit_bm:n.edit_bm}}})(n)};n.BEditField=N,n.BEditSubmit=B,n.BDeleteAsk=q,n.BDestroy=J,n.Eurl=P,n.Etitle=x,n.Edescription=U,n.Etags=R,n.Eprivate=O,n.Etoread=W,n._bm=j,n._edit_bm=Q,n.addbmark=function(n){var t;M["app'"](h.unit);return C.mkComponent({initialState:i.const((t=n,{bm:t,edit_bm:t,deleteAsk:!1,destroyed:!1})),render:function(n){var e=M.mmoment8601(n.bm.time),t=function(n){return function(e){return v.Just.create(N.create(n(e)))}},r=T.div([L.class_("alert")])([A.text("previously saved "),T.span([L.class_("link f7 dib gray pr3"),H.title(v.maybe(n.bm.time)(b.snd)(e))])([A.text(v.maybe(" ")(b.fst)(e))]),T.div([L.class_("edit_links dib ml1")])([T.div([L.class_("delete_link di")])([T.button(g.append(g.semigroupArray)([H.type_(A.isPropButtonType)(o.ButtonButton.value),F.onClick(function(n){return new v.Just(new q(!0))}),L.class_("delete")])(p.guard(p.monoidArray)(n.deleteAsk)([L.attr("hidden")("hidden")])))([A.text("delete")]),T.span(g.append(g.semigroupArray)([L.class_("confirm red")])(p.guard(p.monoidArray)(!n.deleteAsk)([L.attr("hidden")("hidden")])))([T.button([H.type_(A.isPropButtonType)(o.ButtonButton.value),F.onClick(function(n){return new v.Just(new q(!1))})])([A.text("cancel / ")]),T.button([H.type_(A.isPropButtonType)(o.ButtonButton.value),F.onClick(function(n){return new v.Just(J.value)}),L.class_("red")])([A.text("destroy")])])])])]),a=T.form([F.onSubmit(function(n){return v.Just.create(B.create(n))})])([T.table([L.class_("w-100")])([T.tbody_([T.tr_([T.td([L.class_("w1")])([]),T.td_(p.guard(p.monoidArray)(n.bm.bid>0)([r]))]),T.tr_([T.td_([T.label([H.for("url")])([A.text("URL")])]),T.td_([T.input([H.type_(A.isPropInputType)(u.InputUrl.value),H.id_("url"),L.class_("w-100 mv1"),H.required(!0),H.name("url"),H.autofocus(D.null(n.bm.url)),H.value(n.edit_bm.url),F.onValueChange(t(P.create))])])]),T.tr_([T.td_([T.label([H.for("title")])([A.text("title")])]),T.td_([T.input([H.type_(A.isPropInputType)(u.InputText.value),H.id_("title"),L.class_("w-100 mv1"),H.name("title"),H.value(n.edit_bm.title),F.onValueChange(t(x.create))])])]),T.tr_([T.td_([T.label([H.for("description")])([A.text("description")])]),T.td_([T.textarea([L.class_("w-100 mt1 mid-gray"),H.id_("description"),H.name("description"),H.rows(4),H.value(n.edit_bm.description),F.onValueChange(t(U.create))])])]),T.tr_([T.td_([T.label([H.for("tags")])([A.text("tags")])]),T.td_([T.input([H.type_(A.isPropInputType)(u.InputText.value),H.id_("tags"),L.class_("w-100 mv1"),H.name("tags"),H.autocomplete(!1),L.attr("autocapitalize")("off"),H.autofocus(!D.null(n.bm.url)),H.value(n.edit_bm.tags),F.onValueChange(t(R.create))])])]),T.tr_([T.td_([T.label([H.for("private")])([A.text("private")])]),T.td_([T.input([H.type_(A.isPropInputType)(u.InputCheckbox.value),H.id_("private"),L.class_("private pointer"),H.name("private"),H.checked(n.edit_bm.private),F.onChecked(t(O.create))])])]),T.tr_([T.td_([T.label([H.for("toread")])([A.text("read later")])]),T.td_([T.input([H.type_(A.isPropInputType)(u.InputCheckbox.value),H.id_("toread"),L.class_("toread pointer"),H.name("toread"),H.checked(n.edit_bm.toread),F.onChecked(t(W.create))])])]),T.tr_([T.td_([]),T.td_([T.input([H.type_(A.isPropInputType)(u.InputSubmit.value),L.class_("ph3 pv2 input-reset ba b--navy bg-transparent pointer f6 dib mt1 dim"),H.value(n.bm.bid>0?"update bookmark":"add bookmark")])])])])])]),i=T.p([L.class_("red")])([A.text("you killed this bookmark")]);return T.div_([n.destroyed?i:a])},eval:C.mkEval({handleAction:function(n){if(n instanceof q)return a.modify_(S.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t});if(n instanceof J)return r.bind(S.bindHalogenM)(a.gets(S.monadStateHalogenM)(function(n){return n.bm.bid}))(function(n){return r.discard(r.discardUnit)(S.bindHalogenM)(l.void(S.functorHalogenM)(y.liftAff(S.monadAffHalogenM(y.monadAffAff))(e.destroy(n))))(function(){return a.modify_(S.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.destroyed=!0,e})})});if(n instanceof N)return d.modifying(S.monadStateHalogenM)(Q(m.strongFn))(function(){if(n.value0 instanceof P)return function(e){return{url:n.value0.value0,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof x)return function(e){return{url:e.url,title:n.value0.value0,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof U)return function(e){return{url:e.url,title:e.title,description:n.value0.value0,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof R)return function(e){return{url:e.url,title:e.title,description:e.description,tags:n.value0.value0,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof O)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:n.value0.value0,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof W)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:n.value0.value0,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};throw new Error("Failed pattern match at Component.Add (line 156, column 17 - line 162, column 36): "+[n.value0.constructor.name])}());if(n instanceof B)return r.discard(r.discardUnit)(S.bindHalogenM)(E.liftEffect(S.monadEffectHalogenM(w.monadEffectAff))(_.preventDefault(n.value0)))(function(){return r.bind(S.bindHalogenM)(c.use(S.monadStateHalogenM)(Q(f.strongForget)))(function(n){return r.discard(r.discardUnit)(S.bindHalogenM)(l.void(S.functorHalogenM)(y.liftAff(S.monadAffHalogenM(y.monadAffAff))(e.editBookmark(n))))(function(){return r.discard(r.discardUnit)(S.bindHalogenM)(d.assign(S.monadStateHalogenM)(j(m.strongFn))(n))(function(){return r.bind(S.bindHalogenM)(E.liftEffect(S.monadEffectHalogenM(w.monadEffectAff))(L._loc))(function(n){return r.bind(S.bindHalogenM)(E.liftEffect(S.monadEffectHalogenM(w.monadEffectAff))(I.window))(function(e){return r.bind(S.bindHalogenM)(E.liftEffect(S.monadEffectHalogenM(w.monadEffectAff))(L._curQuerystring))(function(t){var r=L._lookupQueryStringValue(t)("next");return r instanceof v.Just?E.liftEffect(S.monadEffectHalogenM(w.monadEffectAff))(k.setHref(r.value0)(n)):E.liftEffect(S.monadEffectHalogenM(w.monadEffectAff))(M.closeWindow(e))})})})})})})});throw new Error("Failed pattern match at Component.Add (line 148, column 3 - line 148, column 69): "+[n.constructor.name])},handleQuery:C.defaultEval.handleQuery,receive:C.defaultEval.receive,initialize:C.defaultEval.initialize,finalize:C.defaultEval.finalize})})}}(t["Component.Add"]=t["Component.Add"]||{}),function(n){"use strict";var e=t.App,r=t["Control.Bind"],a=t["Control.Monad.State.Class"],o=(t["Control.Semigroupoid"],t["DOM.HTML.Indexed.ButtonType"]),u=t["DOM.HTML.Indexed.InputType"],i=t["Data.Array"],l=(t["Data.Const"],t["Data.Eq"],t["Data.Foldable"]),c=t["Data.Function"],f=t["Data.Functor"],s=(t["Data.HeytingAlgebra"],t["Data.Lens"],t["Data.Lens.Getter"]),d=t["Data.Lens.Internal.Forget"],v=t["Data.Lens.Lens"],p=t["Data.Lens.Setter"],m=t["Data.Maybe"],g=t["Data.Monoid"],D=t["Data.Nullable"],b=t["Data.Profunctor.Strong"],h=t["Data.Semigroup"],w=t["Data.Show"],y=(t["Data.String"],t["Data.String.CodePoints"]),E=t["Data.String.Common"],M=(t["Data.String.Pattern"],t["Data.Tuple"]),C=t["Data.Unit"],A=t["Effect.Aff"],T=t["Effect.Aff.Class"],F=t["Effect.Class"],H=t.Globals,S=(t.Halogen,t["Halogen.Component"]),L=(t["Halogen.HTML"],t["Halogen.HTML.Core"]),_=t["Halogen.HTML.Elements"],I=t["Halogen.HTML.Events"],k=t["Halogen.HTML.Properties"],P=t["Halogen.Query.HalogenM"],x=(t.Model,t.Prelude,t.Util),U=t["Web.Event.Event"],R=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),O=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),W=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),N=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),B=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),J=function(){function n(){}return n.value=new n,n}(),Q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),j=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),V=function(){function n(){}return n.value=new n,n}(),z=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),G=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),K=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),X=function(){function n(){}return n.value=new n,n}(),Y=function(n){return v.lens(function(n){return n.edit_bm})(function(n){return function(e){return{edit_bm:e,bm:n.bm,deleteAsk:n.deleteAsk,edit:n.edit}}})(n)},Z=function(n){return v.lens(function(n){return n.edit})(function(n){return function(e){return{edit:e,bm:n.bm,deleteAsk:n.deleteAsk,edit_bm:n.edit_bm}}})(n)},$=function(n){return v.lens(function(n){return n.bm})(function(n){return function(e){return{bm:e,deleteAsk:n.deleteAsk,edit:n.edit,edit_bm:n.edit_bm}}})(n)};n.BStar=Q,n.BDeleteAsk=j,n.BDestroy=V,n.BEdit=z,n.BEditField=G,n.BEditSubmit=K,n.BMarkRead=X,n.Eurl=R,n.Etitle=O,n.Edescription=W,n.Etags=N,n.Eprivate=B,n.Etoread=q,n.BNotifyRemove=J,n._bm=$,n._edit_bm=Y,n._edit=Z,n.bmark=function(n){var t,v=H["app'"](C.unit);return S.mkComponent({initialState:c.const((t=n,{bm:t,edit_bm:t,deleteAsk:!1,edit:!1})),render:function(n){var e,t,r=g.guard(g.monoidArray)(v.dat.isowner)([_.div([x.class_("star fl pointer"+g.guard(g.monoidString)(n.bm.selected)(" selected"))])([_.button([x.class_("moon-gray"),I.onClick(function(e){return new m.Just(new Q(!n.bm.selected))})])([L.text("✭")])])]),a=H.mmoment8601(n.bm.time),c=g.guard(g.monoidArray)(v.dat.isowner)([_.div([x.class_("edit_links di")])([_.button([k.type_(L.isPropButtonType)(o.ButtonButton.value),I.onClick(function(n){return new m.Just(new z(!0))}),x.class_("edit light-silver hover-blue")])([L.text("edit  ")]),_.div([x.class_("delete_link di")])([_.button([k.type_(L.isPropButtonType)(o.ButtonButton.value),I.onClick(function(n){return new m.Just(new j(!0))}),x.class_("delete light-silver hover-blue"+g.guard(g.monoidString)(n.deleteAsk)(" dn"))])([L.text("delete")]),_.span([x.class_("confirm red"+g.guard(g.monoidString)(!n.deleteAsk)(" dn"))])([_.button([k.type_(L.isPropButtonType)(o.ButtonButton.value),I.onClick(function(n){return new m.Just(new j(!1))})])([L.text("cancel / ")]),_.button([k.type_(L.isPropButtonType)(o.ButtonButton.value),I.onClick(function(n){return new m.Just(V.value)}),x.class_("red")])([L.text("destroy")])])])]),_.div([x.class_("read di")])(g.guard(g.monoidArray)(n.bm.toread)([L.text("  "),_.button([I.onClick(function(n){return new m.Just(X.value)}),x.class_("mark_read")])([L.text("mark as read")])]))]),s=function(n){return x.fromNullableStr(v.userR)+"/t:"+n},d=function(n){return function(e){return m.Just.create(G.create(n(e)))}},p=[_.div([x.class_("edit_bookmark_form pa2 pt0 bg-white")])([_.form([I.onSubmit(function(n){return m.Just.create(K.create(n))})])([_.div_([L.text("url")]),_.input([k.type_(L.isPropInputType)(u.InputUrl.value),x.class_("url w-100 mb2 pt1 f7 edit_form_input"),k.required(!0),k.name("url"),k.value(n.edit_bm.url),I.onValueChange(d(R.create))]),_.br_,_.div_([L.text("title")]),_.input([k.type_(L.isPropInputType)(u.InputText.value),x.class_("title w-100 mb2 pt1 f7 edit_form_input"),k.name("title"),k.value(n.edit_bm.title),I.onValueChange(d(O.create))]),_.br_,_.div_([L.text("description")]),_.textarea([x.class_("description w-100 mb1 pt1 f7 edit_form_input"),k.name("description"),k.rows(5),k.value(n.edit_bm.description),I.onValueChange(d(W.create))]),_.br_,_.div([k.id_("tags_input_box")])([_.div_([L.text("tags")]),_.input([k.type_(L.isPropInputType)(u.InputText.value),x.class_("tags w-100 mb1 pt1 f7 edit_form_input"),k.name("tags"),k.autocomplete(!1),x.attr("autocapitalize")("off"),k.value(n.edit_bm.tags),I.onValueChange(d(N.create))]),_.br_]),_.div([x.class_("edit_form_checkboxes mv3")])([_.input([k.type_(L.isPropInputType)(u.InputCheckbox.value),x.class_("private pointer"),k.id_("edit_private"),k.name("private"),k.checked(n.edit_bm.private),I.onChecked(d(B.create))]),L.text(" "),_.label([k.for("edit_private"),x.class_("mr2")])([L.text("private")]),L.text(" "),_.input([k.type_(L.isPropInputType)(u.InputCheckbox.value),x.class_("toread pointer"),k.id_("edit_toread"),k.name("toread"),k.checked(n.edit_bm.toread),I.onChecked(d(q.create))]),L.text(" "),_.label([k.for("edit_toread")])([L.text("to-read")]),_.br_]),_.input([k.type_(L.isPropInputType)(u.InputSubmit.value),x.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),k.value("save")]),L.text(" "),_.input([k.type_(L.isPropInputType)(u.InputReset.value),x.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),k.value("cancel"),I.onClick(function(n){return new m.Just(new z(!1))})])])])],b=[_.div([x.class_("display")])(h.append(h.semigroupArray)([_.a([k.href(n.bm.url),k.target("_blank"),x.class_("link f5 lh-title"+g.guard(g.monoidString)(n.bm.toread)(" unread"))])([L.text(E.null(n.bm.title)?"[no title]":n.bm.title)]),_.br_,_.a([k.href(n.bm.url),x.class_("link f7 gray hover-blue")])([L.text(n.bm.url)]),_.a([k.href(m.fromMaybe("http://archive.is/"+n.bm.url)(D.toMaybe(n.bm.archiveUrl))),x.class_("link f7 gray hover-blue ml2"+g.guard(g.monoidString)(m.isJust(D.toMaybe(n.bm.archiveUrl)))(" green")),k.target("_blank"),k.title("archive link")])([m.isJust(D.toMaybe(n.bm.archiveUrl))?L.text("☑"):L.text("☐")]),_.br_,_.div([x.class_("description mt1 mid-gray")])((t=n.bm.description,i.drop(1)(l.foldMap(l.foldableArray)(g.monoidArray)(function(n){return[_.br_,L.text(n)]})(E.split("\n")(t))))),_.div([x.class_("tags")])(g.guard(g.monoidFn(g.monoidFn(g.monoidArray)))(!E.null(n.bm.tags))(f.map(f.functorArray))(function(n){return _.a([x.class_("link tag mr1"+g.guard(g.monoidString)("."===y.take(1)(n))(" private")),k.href(s(n))])([L.text(n)])})(E.split(" ")(n.bm.tags))),_.a([x.class_("link f7 dib gray w4"),k.title(m.maybe(n.bm.time)(M.snd)(a)),k.href((e=n.bm.slug,x.fromNullableStr(v.userR)+"/b:"+e))])([L.text(m.maybe(" ")(M.fst)(a))])])(c))];return _.div([k.id_(w.show(w.showInt)(n.bm.bid)),x.class_("bookmark w-100 mw7 pa1 mb3"+g.guard(g.monoidString)(n.bm.private)(" private"))])(h.append(h.semigroupArray)(r)(n.edit?p:b))},eval:S.mkEval({handleAction:function(n){if(n instanceof Q)return r.bind(P.bindHalogenM)(s.use(P.monadStateHalogenM)($(d.strongForget)))(function(t){return r.discard(r.discardUnit)(P.bindHalogenM)(T.liftAff(P.monadAffHalogenM(T.monadAffAff))(e.toggleStar(t.bid)(n.value0?e.Star.value:e.UnStar.value)))(function(){return r.discard(r.discardUnit)(P.bindHalogenM)(p.modifying(P.monadStateHalogenM)($(b.strongFn))(function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:n.value0,time:e.time,archiveUrl:e.archiveUrl}}))(function(){return p.modifying(P.monadStateHalogenM)(Y(b.strongFn))(function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:n.value0,time:e.time,archiveUrl:e.archiveUrl}})})})});if(n instanceof j)return a.modify_(P.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t});if(n instanceof V)return r.bind(P.bindHalogenM)(s.use(P.monadStateHalogenM)($(d.strongForget)))(function(n){return r.discard(r.discardUnit)(P.bindHalogenM)(f.void(P.functorHalogenM)(T.liftAff(P.monadAffHalogenM(T.monadAffAff))(e.destroy(n.bid))))(function(){return P.raise(J.value)})});if(n instanceof X)return r.bind(P.bindHalogenM)(s.use(P.monadStateHalogenM)($(d.strongForget)))(function(n){return r.discard(r.discardUnit)(P.bindHalogenM)(f.void(P.functorHalogenM)(T.liftAff(P.monadAffHalogenM(T.monadAffAff))(e.markRead(n.bid))))(function(){return p.modifying(P.monadStateHalogenM)($(b.strongFn))(function(n){return{url:n.url,title:n.title,description:n.description,tags:n.tags,private:n.private,toread:!1,bid:n.bid,slug:n.slug,selected:n.selected,time:n.time,archiveUrl:n.archiveUrl}})})});if(n instanceof z)return r.bind(P.bindHalogenM)(s.use(P.monadStateHalogenM)($(d.strongForget)))(function(e){return r.discard(r.discardUnit)(P.bindHalogenM)(p.assign(P.monadStateHalogenM)(Y(b.strongFn))(e))(function(){return p.assign(P.monadStateHalogenM)(Z(b.strongFn))(n.value0)})});if(n instanceof G)return p.modifying(P.monadStateHalogenM)(Y(b.strongFn))(function(){if(n.value0 instanceof R)return function(e){return{url:n.value0.value0,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof O)return function(e){return{url:e.url,title:n.value0.value0,description:e.description,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof W)return function(e){return{url:e.url,title:e.title,description:n.value0.value0,tags:e.tags,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof N)return function(e){return{url:e.url,title:e.title,description:e.description,tags:n.value0.value0,private:e.private,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof B)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:n.value0.value0,toread:e.toread,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};if(n.value0 instanceof q)return function(e){return{url:e.url,title:e.title,description:e.description,tags:e.tags,private:e.private,toread:n.value0.value0,bid:e.bid,slug:e.slug,selected:e.selected,time:e.time,archiveUrl:e.archiveUrl}};throw new Error("Failed pattern match at Component.BMark (line 227, column 17 - line 233, column 36): "+[n.value0.constructor.name])}());if(n instanceof K)return r.discard(r.discardUnit)(P.bindHalogenM)(F.liftEffect(P.monadEffectHalogenM(A.monadEffectAff))(U.preventDefault(n.value0)))(function(){return r.bind(P.bindHalogenM)(s.use(P.monadStateHalogenM)(Y(d.strongForget)))(function(n){return r.discard(r.discardUnit)(P.bindHalogenM)(f.void(P.functorHalogenM)(T.liftAff(P.monadAffHalogenM(T.monadAffAff))(e.editBookmark(n))))(function(){return r.discard(r.discardUnit)(P.bindHalogenM)(p.assign(P.monadStateHalogenM)($(b.strongFn))(n))(function(){return p.assign(P.monadStateHalogenM)(Z(b.strongFn))(!1)})})})});throw new Error("Failed pattern match at Component.BMark (line 194, column 3 - line 194, column 76): "+[n.constructor.name])},handleQuery:S.defaultEval.handleQuery,receive:S.defaultEval.receive,initialize:S.defaultEval.initialize,finalize:S.defaultEval.finalize})})}}(t["Component.BMark"]=t["Component.BMark"]||{}),function(n){"use strict";var e=t["Component.BMark"],r=t["Control.Monad.State.Class"],a=(t["Control.Semigroupoid"],t["Data.Array"]),o=(t["Data.Eq"],t["Data.Function"]),u=t["Data.Functor"],i=t["Data.Maybe"],l=t["Data.Ord"],c=t["Data.Symbol"],f=t["Data.Unit"],s=(t["Effect.Aff"],t.Halogen,t["Halogen.Component"]),d=t["Halogen.HTML"],v=t["Halogen.HTML.Elements"],p=t["Halogen.Query.HalogenM"],m=(t.Model,t.Prelude,function(){function n(n,e){this.value0=n,this.value1=e}return n.create=function(e){return function(t){return new n(e,t)}},n}()),g=c.SProxy.value;n.HandleBMessage=m,n._bookmark=g,n.blist=function(n){return s.mkComponent({initialState:o.const(n),render:function(n){return v.div_(u.map(u.functorArray)(function(n){return d.slot()(new c.IsSymbol(function(){return"bookmark"}))(l.ordInt)(g)(n.bid)(e.bmark(n))(f.unit)(function(e){return i.Just.create(m.create(n.bid)(e))})})(n))},eval:s.mkEval({handleAction:function(n){return r.modify_(p.monadStateHalogenM)(a.filter(function(e){return e.bid!==n.value0}))},handleQuery:s.defaultEval.handleQuery,receive:s.defaultEval.receive,initialize:s.defaultEval.initialize,finalize:s.defaultEval.finalize})})}}(t["Component.BList"]=t["Component.BList"]||{}),(t["Component.RawHtml"]=t["Component.RawHtml"]||{}).unsafeSetInnerHTML=function(n){return function(e){return function(){n.innerHTML=e}}},function(n){"use strict";var e=t["Control.Bind"],r=(t["Control.Category"],t["Control.Monad.State.Class"],t["Control.Monad.Trans.Class"],t["Control.Semigroupoid"],t["Data.Functor"]),a=t["Data.Maybe"],o=(t["Data.Unit"],t["Effect.Aff.Class"],t["Effect.Class"],t["Halogen.Query.HalogenM"]),u=(t["Halogen.Query.HalogenQ"],t["Halogen.Query.Input"],t.Prelude,t["Web.HTML.HTMLElement"]);n.getHTMLElementRef=function(n){return r.map(o.functorHalogenM)(function(n){return e.bindFlipped(a.bindMaybe)(u.fromElement)(n)})(o.getRef(n))}}(t["Halogen.Query"]=t["Halogen.Query"]||{}),function(n){"use strict";var e=t["Component.RawHtml"],r=t["Control.Applicative"],a=t["Control.Bind"],o=t["Control.Monad.State.Class"],u=(t["Control.Semigroupoid"],t["Data.Foldable"]),i=(t["Data.Function"],t["Data.Maybe"]),l=t["Data.Unit"],c=(t.Effect,t["Effect.Aff"]),f=t["Effect.Class"],s=(t.Globals,t.Halogen,t["Halogen.Component"]),d=(t["Halogen.HTML"],t["Halogen.HTML.Elements"]),v=t["Halogen.HTML.Properties"],p=t["Halogen.Query"],m=t["Halogen.Query.HalogenM"],g=(t["Halogen.Query.Input"],t.Prelude,t["Web.HTML"],function(){function n(){}return n.value=new n,n}()),D=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}();n.SetInnerHTML=g,n.Receive=D,n.mkComponent=function(n){return s.mkComponent({initialState:function(n){return{elRef:"inputval",inputval:n}},render:function(n){return d.div([v.ref(n.elRef)])([])},eval:s.mkEval({handleAction:function t(i){if(i instanceof g)return a.bind(m.bindHalogenM)(o.get(m.monadStateHalogenM))(function(t){return a.bind(m.bindHalogenM)(p.getHTMLElementRef(t.elRef))(function(t){return a.discard(a.discardUnit)(m.bindHalogenM)(u.for_(m.applicativeHalogenM)(u.foldableMaybe)(t)(function(t){return a.bind(m.bindHalogenM)(o.get(m.monadStateHalogenM))(function(r){return f.liftEffect(m.monadEffectHalogenM(c.monadEffectAff))(e.unsafeSetInnerHTML(t)(n(r.inputval)))})}))(function(){return r.pure(m.applicativeHalogenM)(l.unit)})})});if(i instanceof D)return a.discard(a.discardUnit)(m.bindHalogenM)(o.modify_(m.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.inputval=i.value0,e}))(function(){return t(g.value)});throw new Error("Failed pattern match at Component.RawHtml (line 49, column 18 - line 60, column 22): "+[i.constructor.name])},handleQuery:s.defaultEval.handleQuery,receive:function(n){return i.Just.create(D.create(n))},initialize:new i.Just(g.value),finalize:s.defaultEval.finalize})})}}(t["Component.RawHtml"]=t["Component.RawHtml"]||{}),function(n){var e=require("marked");e.setOptions({pedantic:!1,gfm:!0}),n.markedImpl=function(n){return e(n)}}(t["Foreign.Marked"]=t["Foreign.Marked"]||{}),function(n){"use strict";var e=t["Foreign.Marked"],r=(t["Control.Semigroupoid"],t.Globals);t.Prelude;n.marked=function(n){return r.RawHTML(e.markedImpl(n))}}(t["Foreign.Marked"]=t["Foreign.Marked"]||{}),function(n){"use strict";var e=t["Component.RawHtml"],r=(t["Effect.Aff"],t["Foreign.Marked"]),a=(t.Halogen,t["Halogen.HTML"],e.mkComponent(r.marked));n.component=a}(t["Component.Markdown"]=t["Component.Markdown"]||{}),function(n){"use strict";var e=t["Control.Applicative"],r=t["Data.Array"],a=t["Data.Foldable"],o=t["Data.Function"],u=t["Data.Functor"],i=t["Data.Maybe"],l=t["Data.Monoid"],c=(t["Data.Semigroup"],t["Data.Show"]),f=(t["Data.String"],t["Data.String.CodePoints"]),s=t["Data.String.Common"],d=(t["Data.String.Pattern"],t["Data.Tuple"]),v=t["Data.Unit"],p=(t["Effect.Aff"],t.Globals),m=(t.Halogen,t["Halogen.Component"]),g=(t["Halogen.HTML"],t["Halogen.HTML.Core"]),D=t["Halogen.HTML.Elements"],b=t["Halogen.HTML.Properties"],h=t["Halogen.Query.HalogenM"],w=(t.Model,t.Prelude,t.Util);n.nlist=function(n){var t,y=function(n){return p.mmoment8601(n.created)},E=p["app'"](v.unit),M=function(n){return w.fromNullableStr(E.userR)+"/notes/"+n};return m.mkComponent({initialState:o.const((t=n,{notes:t,cur:i.Nothing.value,deleteAsk:!1,edit:!1})),render:function(n){return D.div_(u.map(u.functorArray)(function(n){return D.div([b.id_(c.show(c.showInt)(n.id)),w.class_("note w-100 mw7 pa1 mb2")])([D.div([w.class_("display")])([D.a([b.href(M(n.slug)),w.class_("link f5 lh-title")])([g.text(s.null(n.title)?"[no title]":n.title)]),D.br_,D.div([w.class_("description mt1 mid-gray")])((e=f.take(200)(n.text),r.drop(1)(a.foldMap(a.foldableArray)(l.monoidArray)(function(n){return[D.br_,g.text(n)]})(s.split("\n")(e))))),D.a([w.class_("link f7 dib gray w4"),b.title(i.maybe(n.created)(d.snd)(y(n))),b.href(M(n.slug))])([g.text(i.maybe(" ")(d.fst)(y(n)))])])]);var e})(n.notes))},eval:m.mkEval({handleAction:function(n){return e.pure(h.applicativeHalogenM)(v.unit)},handleQuery:m.defaultEval.handleQuery,receive:m.defaultEval.receive,initialize:m.defaultEval.initialize,finalize:m.defaultEval.finalize})})}}(t["Component.NList"]=t["Component.NList"]||{}),function(n){"use strict";var e=t.App,r=t["Component.Markdown"],a=t["Control.Applicative"],o=t["Control.Bind"],u=t["Control.Monad.State.Class"],i=(t["Control.Semigroupoid"],t["DOM.HTML.Indexed.ButtonType"]),l=t["DOM.HTML.Indexed.InputType"],c=t["Data.Array"],f=(t["Data.Const"],t["Data.Either"]),s=(t["Data.Eq"],t["Data.Foldable"]),d=t["Data.Function"],v=t["Data.Functor"],p=(t["Data.HeytingAlgebra"],t["Data.Lens"],t["Data.Lens.Getter"]),m=t["Data.Lens.Internal.Forget"],g=t["Data.Lens.Lens"],D=t["Data.Lens.Setter"],b=t["Data.Maybe"],h=t["Data.Monoid"],w=t["Data.Ord"],y=t["Data.Profunctor.Strong"],E=t["Data.Semigroup"],M=t["Data.Show"],C=(t["Data.String"],t["Data.String.Common"]),A=(t["Data.String.Pattern"],t["Data.Symbol"]),T=t["Data.Tuple"],F=t["Data.Unit"],H=t["Data.Void"],S=t.Effect,L=t["Effect.Aff"],_=t["Effect.Aff.Class"],I=t["Effect.Class"],k=t.Globals,P=(t.Halogen,t["Halogen.Component"]),x=t["Halogen.HTML"],U=t["Halogen.HTML.Core"],R=t["Halogen.HTML.Elements"],O=t["Halogen.HTML.Events"],W=t["Halogen.HTML.Properties"],N=t["Halogen.Query.HalogenM"],B=(t.Model,t.Prelude,t.Util),q=t["Web.Event.Event"],J=t["Web.HTML.Location"],Q=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),j=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),V=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),z=function(){function n(){}return n.value=new n,n}(),G=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),K=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),X=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Y=function(){function n(n){this.value0=n}return n.create=function(e){return new n(e)},n}(),Z=function(){function n(){}return n.value=new n,n}(),$=function(n){return g.lens(function(n){return n.note})(function(n){return function(e){return{note:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit:n.edit,edit_note:n.edit_note}}})(n)},nn=A.SProxy.value,en=function(n){return g.lens(function(n){return n.edit_note})(function(n){return function(e){return{edit_note:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit:n.edit,note:n.note}}})(n)},tn=function(n){return g.lens(function(n){return n.edit})(function(n){return function(e){return{edit:e,deleteAsk:n.deleteAsk,destroyed:n.destroyed,edit_note:n.edit_note,note:n.note}}})(n)};n.NNop=z,n.NEditField=G,n.NEditSubmit=K,n.NEdit=X,n.NDeleteAsk=Y,n.NDestroy=Z,n._note=$,n._edit_note=en,n._edit=tn,n.Etitle=Q,n.Etext=j,n.EisMarkdown=V,n._markdown=nn,n.nnote=function(n){var t,g=k["app'"](F.unit);return P.mkComponent({initialState:d.const((t=n,{note:t,edit_note:t,deleteAsk:!1,edit:t.id<=0,destroyed:!1})),render:function(n){var e,t=function(n){return k.mmoment8601(n.created)},a=R.div([W.id_(M.show(M.showInt)(n.note.id)),B.class_("note w-100 mw7 pa1 mb2")])(E.append(E.semigroupArray)([R.div([B.class_("display")])([R.div([B.class_("link f5 lh-title")])([U.text(C.null(n.note.title)?"[no title]":n.note.title)]),R.br_,n.note.isMarkdown?R.div([B.class_("description mt1")])([x.slot()(new A.IsSymbol(function(){return"markdown"}))(w.ordUnit)(nn)(F.unit)(r.component)(n.note.text)(H.absurd)]):R.div([B.class_("description mt1 mid-gray")])((e=n.note.text,c.drop(1)(s.foldMap(s.foldableArray)(h.monoidArray)(function(n){return[R.br_,U.text(n)]})(C.split("\n")(e))))),R.div([B.class_("link f7 dib gray w4"),W.title(b.maybe(n.note.created)(T.snd)(t(n.note)))])([U.text(b.maybe(" ")(T.fst)(t(n.note)))])])])([R.div([B.class_("edit_links db mt3")])([R.button([W.type_(U.isPropButtonType)(i.ButtonButton.value),O.onClick(function(n){return new b.Just(new X(!0))}),B.class_("edit light-silver hover-blue")])([U.text("edit  ")]),R.div([B.class_("delete_link di")])([R.button([W.type_(U.isPropButtonType)(i.ButtonButton.value),O.onClick(function(n){return new b.Just(new Y(!0))}),B.class_("delete light-silver hover-blue"+h.guard(h.monoidString)(n.deleteAsk)(" dn"))])([U.text("delete")]),R.span([B.class_("confirm red"+h.guard(h.monoidString)(!n.deleteAsk)(" dn"))])([R.button([W.type_(U.isPropButtonType)(i.ButtonButton.value),O.onClick(function(n){return new b.Just(new Y(!1))})])([U.text("cancel / ")]),R.button([W.type_(U.isPropButtonType)(i.ButtonButton.value),O.onClick(function(n){return new b.Just(Z.value)}),B.class_("red")])([U.text("destroy")])])])])])),o=function(n){return function(e){return b.Just.create(G.create(n(e)))}},u=R.form([O.onSubmit(function(n){return b.Just.create(K.create(n))})])([R.p([B.class_("mt2 mb1")])([U.text("title:")]),R.input([W.type_(U.isPropInputType)(l.InputText.value),B.class_("title w-100 mb1 pt1 f7 edit_form_input"),W.name("title"),W.value(n.edit_note.title),O.onValueChange(o(Q.create))]),R.br_,R.p([B.class_("mt2 mb1")])([U.text("description:")]),R.textarea([B.class_("description w-100 mb1 pt1 f7 edit_form_input"),W.name("text"),W.rows(30),W.value(n.edit_note.text),O.onValueChange(o(j.create))]),R.div([B.class_("edit_form_checkboxes mb3")])([R.input([W.type_(U.isPropInputType)(l.InputCheckbox.value),B.class_("is-markdown pointer"),W.id_("edit_ismarkdown"),W.name("ismarkdown"),W.checked(n.edit_note.isMarkdown),O.onChecked(o(V.create))]),U.text(" "),R.label([W.for("edit_ismarkdown"),B.class_("mr2")])([U.text("use markdown?")]),R.br_]),R.input([W.type_(U.isPropInputType)(l.InputSubmit.value),B.class_("mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),W.value("save")]),U.text(" "),R.input([W.type_(U.isPropInputType)(l.InputReset.value),B.class_("pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim"),W.value("cancel"),O.onClick(function(n){return new b.Just(new X(!1))})])]),f=R.p([B.class_("red")])([U.text("you killed this note")]);return n.destroyed?f:n.edit?u:a},eval:P.mkEval({handleAction:function(n){if(n instanceof z)return a.pure(N.applicativeHalogenM)(F.unit);if(n instanceof G)return D.modifying(N.monadStateHalogenM)(en(y.strongFn))(function(){if(n.value0 instanceof Q)return function(e){return{id:e.id,slug:e.slug,title:n.value0.value0,text:e.text,length:e.length,isMarkdown:e.isMarkdown,created:e.created,updated:e.updated}};if(n.value0 instanceof j)return function(e){return{id:e.id,slug:e.slug,title:e.title,text:n.value0.value0,length:e.length,isMarkdown:e.isMarkdown,created:e.created,updated:e.updated}};if(n.value0 instanceof V)return function(e){return{id:e.id,slug:e.slug,title:e.title,text:e.text,length:e.length,isMarkdown:n.value0.value0,created:e.created,updated:e.updated}};throw new Error("Failed pattern match at Component.NNote (line 162, column 19 - line 165, column 44): "+[n.value0.constructor.name])}());if(n instanceof Y)return u.modify_(N.monadStateHalogenM)(function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.deleteAsk=n.value0,t});if(n instanceof Z)return o.bind(N.bindHalogenM)(p.use(N.monadStateHalogenM)($(m.strongForget)))(function(n){return o.discard(o.discardUnit)(N.bindHalogenM)(v.void(N.functorHalogenM)(_.liftAff(N.monadAffHalogenM(_.monadAffAff))(e.destroyNote(n.id))))(function(){return u.modify_(N.monadStateHalogenM)(function(n){var e={};for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t]);return e.destroyed=!0,e})})});if(n instanceof X)return o.bind(N.bindHalogenM)(p.use(N.monadStateHalogenM)($(m.strongForget)))(function(e){return o.discard(o.discardUnit)(N.bindHalogenM)(D.assign(N.monadStateHalogenM)(en(y.strongFn))(e))(function(){return D.assign(N.monadStateHalogenM)(tn(y.strongFn))(n.value0)})});if(n instanceof K)return o.discard(o.discardUnit)(N.bindHalogenM)(I.liftEffect(N.monadEffectHalogenM(L.monadEffectAff))(q.preventDefault(n.value0)))(function(){return o.bind(N.bindHalogenM)(p.use(N.monadStateHalogenM)(en(m.strongForget)))(function(n){return o.bind(N.bindHalogenM)(_.liftAff(N.monadAffHalogenM(_.monadAffAff))(e.editNote(n)))(function(e){if(e.body instanceof f.Left)return a.pure(N.applicativeHalogenM)(F.unit);if(e.body instanceof f.Right)return 0===n.id?I.liftEffect(N.monadEffectHalogenM(L.monadEffectAff))(o.bindFlipped(S.bindEffect)(J.setHref(B.fromNullableStr(g.noteR)))(B._loc)):o.discard(o.discardUnit)(N.bindHalogenM)(D.assign(N.monadStateHalogenM)($(y.strongFn))(n))(function(){return D.assign(N.monadStateHalogenM)(tn(y.strongFn))(!1)});throw new Error("Failed pattern match at Component.NNote (line 188, column 5 - line 196, column 22): "+[e.body.constructor.name])})})});throw new Error("Failed pattern match at Component.NNote (line 157, column 3 - line 157, column 77): "+[n.constructor.name])},handleQuery:P.defaultEval.handleQuery,receive:P.defaultEval.receive,initialize:P.defaultEval.initialize,finalize:P.defaultEval.finalize})})}}(t["Component.NNote"]=t["Component.NNote"]||{}),function(n){"use strict";t["Control.Monad.Error.Class"],t["Control.Monad.Reader.Trans"],t["Control.Monad.Trans.Class"],t["Control.Semigroupoid"];var e=t["Effect.Aff"],r=(t.Prelude,function(n,e,t,r,a){this.Functor1=n,this.Monad0=e,this.fork=t,this.join=r,this.suspend=a}),a=new r(function(){return e.functorFiber},function(){return e.monadAff},e.forkAff,e.joinFiber,e.suspendAff);n.fork=function(n){return n.fork},n.join=function(n){return n.join},n.suspend=function(n){return n.suspend},n.MonadFork=r,n.monadForkAff=a}(t["Control.Monad.Fork.Class"]=t["Control.Monad.Fork.Class"]||{}),function(n){"use strict";(t["Effect.Console"]=t["Effect.Console"]||{}).warn=function(n){return function(){return console.warn(n),{}}}}(),function(n){"use strict";var e=t["Effect.Console"];t["Data.Show"],t["Data.Unit"],t.Effect;n.warn=e.warn}(t["Effect.Console"]=t["Effect.Console"]||{}),function(n){"use strict";t["Control.Applicative"],t["Control.Bind"];var e=t["Data.Foldable"],r=(t["Data.Function"],t["Data.List"],t["Data.List.Types"]),a=(t["Data.Map"],t["Data.Map.Internal"]),o=t["Data.Maybe"],u=(t["Data.Traversable"],t.Effect,t["Effect.Aff"],t["Effect.Ref"]),i=(t["Halogen.Component"],t["Halogen.Data.Slot"]),l=(t["Halogen.Query.EventSource"],t["Halogen.Query.HalogenM"],t.Prelude,t["Unsafe.Coerce"]),c=(t["Web.DOM"],l.unsafeCoerce),f=l.unsafeCoerce,s=l.unsafeCoerce,d=l.unsafeCoerce;n.mapDriverState=function(n){return function(e){return n(e)}},n.unDriverStateX=f,n.mkDriverStateXRef=d,n.renderStateX=function(n){return function(n){return f(function(e){return s(n(e.rendering))})}},n.renderStateX_=function(n){return function(t){return f(function(r){return e.traverse_(n)(e.foldableMaybe)(t)(r.rendering)})}},n.unRenderStateX=c,n.initDriverState=function(n){return function(e){return function(t){return function(l){return function(){var c=u.new({})(),f=u.new(i.empty)(),s=u.new(i.empty)(),v=u.new(t)(),p=u.new(new o.Just(r.Nil.value))(),m=u.new(new o.Just(r.Nil.value))(),g=u.new(o.Nothing.value)(),D=u.new(1)(),b=u.new(new o.Just(a.empty))(),h=u.new(a.empty)(),w={component:n,state:n.initialState(e),refs:a.empty,children:i.empty,childrenIn:f,childrenOut:s,selfRef:c,handlerRef:v,pendingQueries:p,pendingOuts:m,pendingHandlers:g,rendering:o.Nothing.value,fresh:D,subscriptions:b,forks:h,lifecycleHandlers:l};return u.write(w)(c)(),d(c)}}}}}}(t["Halogen.Aff.Driver.State"]=t["Halogen.Aff.Driver.State"]||{}),function(n){"use strict";(t["Unsafe.Reference"]=t["Unsafe.Reference"]||{}).reallyUnsafeRefEq=function(n){return function(e){return n===e}}}(),function(n){"use strict";var e=t["Unsafe.Reference"].reallyUnsafeRefEq;n.unsafeRefEq=e}(t["Unsafe.Reference"]=t["Unsafe.Reference"]||{}),function(n){"use strict";var e=t["Control.Applicative"],r=t["Control.Applicative.Free"],a=t["Control.Bind"],o=t["Control.Coroutine"],u=t["Control.Monad"],i=t["Control.Monad.Fork.Class"],l=t["Control.Monad.Free"],c=t["Control.Monad.Free.Trans"],f=t["Control.Monad.Trans.Class"],s=t["Control.Parallel"],d=t["Control.Parallel.Class"],v=(t["Control.Semigroupoid"],t["Data.Boolean"]),p=t["Data.Coyoneda"],m=t["Data.Eq"],g=t["Data.Foldable"],D=t["Data.Function"],b=t["Data.Functor"],h=(t["Data.List"],t["Data.List.Types"]),w=(t["Data.Map"],t["Data.Map.Internal"]),y=t["Data.Maybe"],E=t["Data.Ord"],M=(t["Data.Semiring"],t["Data.Tuple"],t["Data.Unit"]),C=t.Effect,A=t["Effect.Aff"],T=t["Effect.Class"],F=t["Effect.Exception"],H=t["Effect.Ref"],S=t["Halogen.Aff.Driver.State"],L=t["Halogen.Query.ChildQuery"],_=t["Halogen.Query.EventSource"],I=t["Halogen.Query.HalogenM"],k=t["Halogen.Query.HalogenQ"],P=t["Halogen.Query.Input"],x=(t.Prelude,t["Unsafe.Reference"]),U=function(n){return function(e){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(n)))(function(t){if(t instanceof y.Nothing)return e;if(t instanceof y.Just)return T.liftEffect(A.monadEffectAff)(H.write(new y.Just(new h.Cons(e,t.value0)))(n));throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 195, column 33 - line 197, column 54): "+[t.constructor.name])})}},R=function(n){return function(t){return a.discard(a.discardUnit)(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.write({initializers:h.Nil.value,finalizers:h.Nil.value})(n)))(function(){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(t))(function(t){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(n)))(function(n){return a.discard(a.discardUnit)(A.bindAff)(g.traverse_(A.applicativeAff)(h.foldableList)(i.fork(i.monadForkAff))(n.finalizers))(function(){return a.discard(a.discardUnit)(A.bindAff)(s.parSequence_(A.parallelAff)(h.foldableList)(n.initializers))(function(){return e.pure(A.applicativeAff)(t)})})})})})}},O=function(n){return function(e){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(e)))(function(e){return T.liftEffect(A.monadEffectAff)(H["modify'"](function(e){return{state:e+1|0,value:n(e)}})(e.fresh))})}},W=function(n){return function(e){return function(t){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(e)))(function(r){return N(n)(e)(r.component.eval(new k.Query(b.map(p.functorCoyoneda)(y.Just.create)(p.liftCoyoneda(t)),D.const(y.Nothing.value))))})}}},N=function n(t){return function(s){return function(p){var D;return l.foldFree(A.monadRecAff)((D=s,function(l){if(l instanceof I.State)return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(D)))(function(n){var r=l.value0(n.state);if(x.unsafeRefEq(n.state)(r.value1))return e.pure(A.applicativeAff)(r.value0);if(v.otherwise)return a.discard(a.discardUnit)(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.write({component:n.component,state:r.value1,refs:n.refs,children:n.children,childrenIn:n.childrenIn,childrenOut:n.childrenOut,selfRef:n.selfRef,handlerRef:n.handlerRef,pendingQueries:n.pendingQueries,pendingOuts:n.pendingOuts,pendingHandlers:n.pendingHandlers,rendering:n.rendering,fresh:n.fresh,subscriptions:n.subscriptions,forks:n.forks,lifecycleHandlers:n.lifecycleHandlers})(D)))(function(){return a.discard(a.discardUnit)(A.bindAff)(R(n.lifecycleHandlers)(t(n.lifecycleHandlers)(D)))(function(){return e.pure(A.applicativeAff)(r.value0)})});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 85, column 7 - line 91, column 21): "+[r.constructor.name])});if(l instanceof I.Subscribe)return a.bind(A.bindAff)(O(I.SubscriptionId)(D))(function(n){var r=l.value0(n);return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(D)))(function(u){return a.bind(A.bindAff)(i.fork(i.monadForkAff)(a.bind(A.bindAff)(r)(function(r){var l=a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(u.subscriptions)))(function(t){return a.discard(a.discardUnit)(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.modify_(b.map(y.functorMaybe)(w.delete(I.ordSubscriptionId)(n)))(u.subscriptions)))(function(){return e.when(A.applicativeAff)(y.maybe(!1)(w.member(I.ordSubscriptionId)(n))(t))(_.finalize(r.finalizer))})}),s=a.bind(c.bindFreeT(o.functorAwait)(A.monadAff))(o.await(A.monadAff))(function(r){return a.bind(c.bindFreeT(o.functorAwait)(A.monadAff))(f.lift(c.monadTransFreeT(o.functorAwait))(A.monadAff)(T.liftEffect(A.monadEffectAff)(H.read(u.subscriptions))))(function(u){return e.when(c.applicativeFreeT(o.functorAwait)(A.monadAff))(m.eq(y.eqMaybe(m.eqBoolean))(b.map(y.functorMaybe)(w.member(I.ordSubscriptionId)(n))(u))(new y.Just(!0)))(a.bind(c.bindFreeT(o.functorAwait)(A.monadAff))(f.lift(c.monadTransFreeT(o.functorAwait))(A.monadAff)(i.fork(i.monadForkAff)(B(t)(D)(new P.Action(r)))))(function(n){return s}))})});return a.discard(a.discardUnit)(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.modify_(b.map(y.functorMaybe)(w.insert(I.ordSubscriptionId)(n)(l)))(u.subscriptions)))(function(){return a.discard(a.discardUnit)(A.bindAff)(o.runProcess(A.monadRecAff)(o.pullFrom(A.monadRecAff)(s)(r.producer)))(function(){return _.finalize(l)})})})))(function(t){return e.pure(A.applicativeAff)(l.value1(n))})})});if(l instanceof I.Unsubscribe)return a.discard(a.discardUnit)(A.bindAff)((s=l.value0,function(n){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(n)))(function(n){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(n.subscriptions)))(function(n){return g.traverse_(A.applicativeAff)(g.foldableMaybe)(_.finalize)(a.bindFlipped(y.bindMaybe)(w.lookup(I.ordSubscriptionId)(s))(n))})})})(D))(function(){return e.pure(A.applicativeAff)(l.value1)});var s;if(l instanceof I.Lift)return l.value0;if(l instanceof I.ChildQuery)return function(n){return function(e){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(n)))(function(n){return L.unChildQueryBox(function(e){return b.map(A.functorAff)(e.value2)(d.sequential(A.parallelAff)(e.value0(A.applicativeParAff)(function(n){return d.parallel(A.parallelAff)(a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(n)))(function(n){return S.unDriverStateX(function(n){return W(t)(n.selfRef)(e.value1)})(n)}))})(n.children)))})(e)})}}(D)(l.value0);if(l instanceof I.Raise)return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(D)))(function(n){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(n.handlerRef)))(function(t){return a.discard(a.discardUnit)(A.bindAff)(U(n.pendingOuts)(t(l.value0)))(function(){return e.pure(A.applicativeAff)(l.value1)})})});if(l instanceof I.Par)return d.sequential(A.parallelAff)(r.retractFreeAp(A.applicativeParAff)(r.hoistFreeAp(function(e){return d.parallel(A.parallelAff)(n(t)(D)(e))})(l.value0)));if(l instanceof I.Fork)return a.bind(A.bindAff)(O(I.ForkId)(D))(function(r){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(D)))(function(o){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.new(!1)))(function(c){return a.bind(A.bindAff)(i.fork(i.monadForkAff)(A.finally(T.liftEffect(A.monadEffectAff)(function(){return H.modify_(w.delete(I.ordForkId)(r))(o.forks)(),H.write(!0)(c)()}))(n(t)(D)(l.value0))))(function(n){return a.discard(a.discardUnit)(A.bindAff)(T.liftEffect(A.monadEffectAff)(u.unlessM(C.monadEffect)(H.read(c))(H.modify_(w.insert(I.ordForkId)(r)(n))(o.forks))))(function(){return e.pure(A.applicativeAff)(l.value1(r))})})})})});if(l instanceof I.Kill)return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(D)))(function(n){return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(n.forks)))(function(n){return a.discard(a.discardUnit)(A.bindAff)(g.traverse_(A.applicativeAff)(g.foldableMaybe)(A.killFiber(F.error("Cancelled")))(w.lookup(I.ordForkId)(l.value0)(n)))(function(){return e.pure(A.applicativeAff)(l.value1)})})});if(l instanceof I.GetRef)return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(D)))(function(n){return e.pure(A.applicativeAff)(l.value1(w.lookup(E.ordString)(l.value0)(n.refs)))});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 82, column 12 - line 146, column 33): "+[l.constructor.name])}))(p)}}},B=function(n){return function(e){return function(t){if(t instanceof P.RefUpdate)return T.liftEffect(A.monadEffectAff)(D.flip(H.modify_)(e)(S.mapDriverState(function(n){return{component:n.component,state:n.state,refs:w.alter(E.ordString)(D.const(t.value1))(t.value0)(n.refs),children:n.children,childrenIn:n.childrenIn,childrenOut:n.childrenOut,selfRef:n.selfRef,handlerRef:n.handlerRef,pendingQueries:n.pendingQueries,pendingOuts:n.pendingOuts,pendingHandlers:n.pendingHandlers,rendering:n.rendering,fresh:n.fresh,subscriptions:n.subscriptions,forks:n.forks,lifecycleHandlers:n.lifecycleHandlers}})));if(t instanceof P.Action)return a.bind(A.bindAff)(T.liftEffect(A.monadEffectAff)(H.read(e)))(function(r){return N(n)(e)(r.component.eval(new k.Action(t.value0,M.unit)))});throw new Error("Failed pattern match at Halogen.Aff.Driver.Eval (line 51, column 20 - line 57, column 62): "+[t.constructor.name])}}};n.evalF=B,n.evalQ=W,n.evalM=N,n.handleLifecycle=R,n.queueOrRun=U}(t["Halogen.Aff.Driver.Eval"]=t["Halogen.Aff.Driver.Eval"]||{}),function(n){"use strict";var e=t["Control.Applicative"],r=t["Control.Bind"],a=t["Control.Coroutine"],o=t["Control.Monad.Error.Class"],u=t["Control.Monad.Fork.Class"],i=t["Control.Monad.Rec.Class"],l=t["Control.Parallel"],c=(t["Control.Semigroupoid"],t["Data.Either"]),f=t["Data.Foldable"],s=t["Data.Function"],d=t["Data.Functor"],v=t["Data.List"],p=t["Data.List.Types"],m=(t["Data.Map"],t["Data.Map.Internal"]),g=t["Data.Maybe"],D=t["Data.Ord"],b=(t["Data.Semiring"],t["Data.Traversable"],t["Data.Tuple"],t["Data.Unit"]),h=t.Effect,w=t["Effect.Aff"],y=t["Effect.Aff.AVar"],E=t["Effect.Class"],M=t["Effect.Console"],C=t["Effect.Exception"],A=t["Effect.Ref"],T=(t.Halogen,t["Halogen.Aff.Driver.Eval"]),F=t["Halogen.Aff.Driver.State"],H=t["Halogen.Component"],S=t["Halogen.Data.Slot"],L=t["Halogen.Query.EventSource"],_=t["Halogen.Query.HalogenQ"],I=t["Halogen.Query.Input"],k=(t.Prelude,A.new({initializers:p.Nil.value,finalizers:p.Nil.value})),P=w.runAff_(c.either(C.throwException)(s.const(e.pure(h.applicativeEffect)(b.unit)))),x=function(n){return function(){var e=A.read(n)();return A.write(g.Nothing.value)(n)(),f.for_(h.applicativeEffect)(f.foldableMaybe)(e)(function(n){return P(f.traverse_(w.applicativeAff)(p.foldableList)(u.fork(u.monadForkAff))(v.reverse(n)))})()}};n.runUI=function(n){return function(t){return function(U){var R=function(n){return function(e){return function(t){return H.unComponent(function(a){return function(){var o=k(),u=F.initDriverState(a)(t)(e)(o)(),i=A.read(n)();return A.write({initializers:p.Nil.value,finalizers:i.finalizers})(n)(),r.bindFlipped(h.bindEffect)(F.unDriverStateX(function(e){return W(n)(e.selfRef)}))(A.read(u))(),r.bindFlipped(h.bindEffect)(function(n){return function(e){return F.unDriverStateX(function(t){var a=T.evalM(W)(t.selfRef)(t.component.eval(new _.Initialize(b.unit)));return A.modify_(function(n){return{initializers:new p.Cons(r.discard(r.discardUnit)(w.bindAff)(l.parSequence_(w.parallelAff)(p.foldableList)(v.reverse(n.initializers)))(function(){return r.discard(r.discardUnit)(w.bindAff)(a)(function(){return E.liftEffect(w.monadEffectAff)(function(){return x(t.pendingQueries)(),x(t.pendingOuts)()})})}),e),finalizers:n.finalizers}})(n)})}}(n)(i.initializers))(A.read(u))(),u}})}}},O=function(t){return function(a){return function(o){return function(u){return H.unComponentSlot(function(i){return function(){var l=A.read(o)(),c=function(){var n=i.pop(l);if(n instanceof g.Just){A.write(n.value0.value1)(o)();var r=A.read(n.value0.value0)();return F.unDriverStateX(function(n){return function(){return s.flip(A.write)(n.handlerRef)(function(n){return g.maybe(e.pure(w.applicativeAff)(b.unit))(a)(i.output(n))})(),P(T.evalM(W)(n.selfRef)(n.component.eval(i.input)))()}})(r)(),n.value0.value0}if(n instanceof g.Nothing)return i.input instanceof _.Receive?R(t)(function(n){return g.maybe(e.pure(w.applicativeAff)(b.unit))(a)(i.output(n))})(i.input.value0)(i.component)():C.throw("Halogen internal error: slot input was not a Receive query")();throw new Error("Failed pattern match at Halogen.Aff.Driver (line 232, column 14 - line 246, column 7): "+[n.constructor.name])}(),f=d.map(h.functorEffect)(function(n){return g.isJust(i.get(n))})(A.read(u))();return e.when(h.applicativeEffect)(f)(M.warn("Halogen: Duplicate slot address was detected during rendering, unexpected results may occur"))(),A.modify_(i.set(c))(u)(),r.bind(h.bindEffect)(A.read(c))(F.renderStateX(h.functorEffect)(function(t){if(t instanceof g.Nothing)return C.throw("Halogen internal error: child was not initialized in renderChild");if(t instanceof g.Just)return e.pure(h.applicativeEffect)(n.renderChild(t.value0));throw new Error("Failed pattern match at Halogen.Aff.Driver (line 250, column 37 - line 252, column 50): "+[t.constructor.name])}))()}})}}}},W=function t(r){return function(a){return function(){var o=A.read(a)(),l=d.map(h.functorEffect)(g.isNothing)(A.read(o.pendingHandlers))();e.when(h.applicativeEffect)(l)(A.write(new g.Just(p.Nil.value))(o.pendingHandlers))(),A.write(S.empty)(o.childrenOut)(),A.write(o.children)(o.childrenIn)();var c=function(n){return T.queueOrRun(o.pendingHandlers)(d.void(w.functorAff)(T.evalF(t)(o.selfRef)(n)))},m=n.render(function(n){return P(c(n))})(O(r)(function(n){return T.queueOrRun(o.pendingQueries)(c(I.Action.create(n)))})(o.childrenIn)(o.childrenOut))(o.component.render(o.state))(o.rendering)(),D=A.read(o.childrenOut)(),y=A.read(o.childrenIn)();return S.foreachSlot(h.applicativeEffect)(y)(function(e){return function(){var t=A.read(e)();return F.renderStateX_(h.applicativeEffect)(n.removeChild)(t)(),N(r)(t)()}})(),s.flip(A.modify_)(o.selfRef)(F.mapDriverState(function(n){return{component:n.component,state:n.state,refs:n.refs,children:D,childrenIn:n.childrenIn,childrenOut:n.childrenOut,selfRef:n.selfRef,handlerRef:n.handlerRef,pendingQueries:n.pendingQueries,pendingOuts:n.pendingOuts,pendingHandlers:n.pendingHandlers,rendering:new g.Just(m),fresh:n.fresh,subscriptions:n.subscriptions,forks:n.forks,lifecycleHandlers:n.lifecycleHandlers}}))(),e.when(h.applicativeEffect)(l)(s.flip(i.tailRecM(i.monadRecEffect))(b.unit)(function(n){return function(){var n=A.read(o.pendingHandlers)();A.write(new g.Just(p.Nil.value))(o.pendingHandlers)(),f.traverse_(h.applicativeEffect)(f.foldableMaybe)(function(n){return P(f.traverse_(w.applicativeAff)(p.foldableList)(u.fork(u.monadForkAff))(v.reverse(n)))})(n)();var e=A.read(o.pendingHandlers)();return g.maybe(!1)(v.null)(e)?d.voidLeft(h.functorEffect)(A.write(g.Nothing.value)(o.pendingHandlers))(new i.Done(b.unit))():new i.Loop(b.unit)}}))()}}},N=function n(e){return F.unDriverStateX(function(t){return function(){var a;(a=t,function(){return r.bindFlipped(h.bindEffect)(f.traverse_(h.applicativeEffect)(f.foldableMaybe)(function(n){return P(f.traverse_(w.applicativeAff)(m.foldableMap)(function(n){return u.fork(u.monadForkAff)(L.finalize(n))})(n))}))(A.read(a.subscriptions))(),A.write(g.Nothing.value)(a.subscriptions)(),r.bindFlipped(h.bindEffect)(f.traverse_(h.applicativeEffect)(m.foldableMap)(function(n){return P(w.killFiber(C.error("finalized"))(n))}))(A.read(a.forks))(),A.write(m.empty)(a.forks)()})();var o=T.evalM(W)(t.selfRef)(t.component.eval(new _.Finalize(b.unit)));return A.modify_(function(n){return{initializers:n.initializers,finalizers:new p.Cons(o,n.finalizers)}})(e)(),S.foreachSlot(h.applicativeEffect)(t.children)(function(t){return function(){var r=A.read(t)();return n(e)(r)()}})()}})},B=function(e){return function(t){return function(a){return function(o){return E.liftEffect(w.monadEffectAff)(function(){return A.read(e)()?b.unit:(A.write(!0)(e)(),r.bindFlipped(h.bindEffect)(f.traverse_(h.applicativeEffect)(m.foldableMap)(function(n){return w.launchAff_(y.kill(C.error("disposed"))(n))}))(A.read(o))(),N(t)(a)(),F.unDriverStateX(function(e){return f.traverse_(h.applicativeEffect)(f.foldableMaybe)(n.dispose)(e.rendering)})(a)())})}}}};return r.bind(w.bindAff)(E.liftEffect(w.monadEffectAff)(k))(function(n){return r.bind(w.bindAff)(E.liftEffect(w.monadEffectAff)(A.new(0)))(function(i){return r.bind(w.bindAff)(E.liftEffect(w.monadEffectAff)(A.new(!1)))(function(l){return T.handleLifecycle(n)(function(){var v,p=A.new(m.empty)(),M=r.bindFlipped(h.bindEffect)(A.read)(R(n)((v=p,function(n){return r.bind(w.bindAff)(E.liftEffect(w.monadEffectAff)(A.read(v)))(function(e){return f.traverse_(w.applicativeAff)(m.foldableMap)(u.fork(u.monadForkAff))(d.map(m.functorMap)(y.put(n))(e))})}))(U)(t))();return F.unDriverStateX(function(t){return e.pure(h.applicativeEffect)({query:(v=l,function(n){return function(t){return r.bind(w.bindAff)(E.liftEffect(w.monadEffectAff)(A.read(v)))(function(r){return r?e.pure(w.applicativeAff)(g.Nothing.value):T.evalQ(W)(n)(t)})}})(t.selfRef),subscribe:(f=i,function(n){return function(e){return r.bind(w.bindAff)(y.empty)(function(t){return r.bind(w.bindAff)(E.liftEffect(w.monadEffectAff)(function(){var e=A.read(f)();return A.modify_(function(n){return n+1|0})(f)(),A.modify_(m.insert(D.ordInt)(e)(t))(n)(),e}))(function(i){var l=a.producer(w.monadAff)(d.map(w.functorAff)(c.either(s.const(new c.Right(b.unit)))(c.Left.create))(o.try(w.monadErrorAff)(y.take(t))));return d.void(w.functorAff)(u.fork(u.monadForkAff)(r.discard(r.discardUnit)(w.bindAff)(a.runProcess(w.monadRecAff)(a.connect(w.monadRecAff)(w.parallelAff)(l)(e)))(function(){return r.discard(r.discardUnit)(w.bindAff)(E.liftEffect(w.monadEffectAff)(A.modify_(m.delete(D.ordInt)(i))(n)))(function(){return y.kill(C.error("ended"))(t)})})))})})}})(p),dispose:B(l)(n)(M)(p)});var f,v})(M)()})})})})}}}}(t["Halogen.Aff.Driver"]=t["Halogen.Aff.Driver"]||{}),function(n){"use strict";var e=t["Control.Applicative"],r=t["Control.Bind"],a=(t["Control.Monad.Error.Class"],t["Control.Semigroupoid"],t["Data.Either"]),o=t["Data.Function"],u=(t["Data.Functor"],t["Data.Maybe"]),i=t["Data.Unit"],l=t.Effect,c=t["Effect.Aff"],f=t["Effect.Class"],s=t["Effect.Exception"],d=(t.Prelude,t["Web.DOM.ParentNode"]),v=(t["Web.Event.EventTarget"],t["Web.HTML"]),p=(t["Web.HTML.Event.EventTypes"],t["Web.HTML.HTMLDocument"]),m=(t["Web.HTML.HTMLDocument.ReadyState"],t["Web.HTML.HTMLElement"]),g=t["Web.HTML.Window"],D=c.runAff_(a.either(s.throwException)(o.const(e.pure(l.applicativeEffect)(i.unit))));n.selectElement=function(n){return r.bind(c.bindAff)(f.liftEffect(c.monadEffectAff)(r.bindFlipped(l.bindEffect)(r.composeKleisliFlipped(l.bindEffect)(function(e){return d.querySelector(n)(p.toParentNode(e))})(g.document))(v.window)))(function(n){return e.pure(c.applicativeAff)(r.bindFlipped(u.bindMaybe)(m.fromElement)(n))})},n.runHalogenAff=D}(t["Halogen.Aff.Util"]=t["Halogen.Aff.Util"]||{}),function(n){"use strict";var e=t["Control.Applicative"],r=t["Control.Bind"],a=t["Control.Category"],o=t["Data.Foldable"],u=(t["Data.Function"],t["Data.Functor"]),i=t["Data.HeytingAlgebra"],l=t["Data.Maybe"],c=t["Data.Newtype"],f=t["Data.Unit"],s=t.Effect,d=t["Effect.Aff"],v=t["Effect.Class"],p=t["Effect.Ref"],m=(t["Effect.Uncurried"],t["Halogen.Aff.Driver"]),g=t["Halogen.Aff.Driver.State"],D=t["Halogen.Component"],b=t["Halogen.HTML.Core"],h=(t["Halogen.Query.Input"],t["Halogen.VDom"],t["Halogen.VDom.DOM"]),w=t["Halogen.VDom.DOM.Prop"],y=t["Halogen.VDom.Machine"],E=t["Halogen.VDom.Thunk"],M=(t.Prelude,t["Unsafe.Reference"]),C=(t["Web.DOM.Document"],t["Web.DOM.Element"],t["Web.DOM.Node"]),A=t["Web.HTML"],T=t["Web.HTML.HTMLDocument"],F=t["Web.HTML.HTMLElement"],H=t["Web.HTML.Window"],S=function(n){return function(){var e=C.parentNode(n.node)();return o.traverse_(s.applicativeEffect)(o.foldableMaybe)(function(e){return C.removeChild(n.node)(e)})(e)()}},L=function(n){return function(t){return{render:function(r){return function(a){return function(o){return function(d){if(d instanceof l.Nothing)return function(){var e=p.new(a)(),i=function(n){return function(e){return function(t){var r=g.unRenderStateX(function(n){return n.node}),a=function(n){return n instanceof l.Just?y.halt(n.value0):f.unit};return{buildWidget:function(n){var t=E.buildThunk(c.unwrap(b.newtypeHTML))(n),o=function(n){var t=p.read(e)()(n)(),o=r(t);return y.mkStep(new y.Step(o,l.Nothing.value,i,a))},u=function(n){if(n instanceof D.ComponentSlot)return o(n.value0);if(n instanceof D.ThunkSlot){var e=t(n.value0);return y.mkStep(new y.Step(y.extract(e),new l.Just(e),i,a))}throw new Error("Failed pattern match at Halogen.VDom.Driver (line 85, column 7 - line 90, column 75): "+[n.constructor.name])},i=function n(e,t){if(e instanceof l.Just){if(t instanceof D.ComponentSlot)return y.halt(e.value0),o(t.value0);if(t instanceof D.ThunkSlot){var r=y.step(e.value0,t.value0);return y.mkStep(new y.Step(y.extract(r),new l.Just(r),n,a))}throw new Error("Failed pattern match at Halogen.VDom.Driver (line 98, column 22 - line 104, column 79): "+[t.constructor.name])}return u(t)};return u},buildAttributes:w.buildProp(n),document:t}}}}(r)(e)(n),d=h.buildVDom(i)(o),v=y.extract(d);return u.void(s.functorEffect)(C.appendChild(v)(F.toNode(t)))(),{machine:d,node:v,renderChildRef:e}};if(d instanceof l.Just)return function(){p.write(a)(d.value0.renderChildRef)();var n=C.parentNode(d.value0.node)(),t=C.nextSibling(d.value0.node)(),r=y.step(d.value0.machine,o),c=y.extract(r);return e.when(s.applicativeEffect)(i.not(i.heytingAlgebraFunction(i.heytingAlgebraFunction(i.heytingAlgebraBoolean)))(M.unsafeRefEq)(d.value0.node)(c))(function(n){return function(t){return function(r){return t instanceof l.Just&&r instanceof l.Just?u.void(s.functorEffect)(C.insertBefore(n)(t.value0)(r.value0)):t instanceof l.Nothing&&r instanceof l.Just?u.void(s.functorEffect)(C.appendChild(n)(r.value0)):e.pure(s.applicativeEffect)(f.unit)}}}(c)(t)(n))(),{machine:r,node:c,renderChildRef:d.value0.renderChildRef}};throw new Error("Failed pattern match at Halogen.VDom.Driver (line 159, column 5 - line 175, column 80): "+[d.constructor.name])}}}},renderChild:a.identity(a.categoryFn),removeChild:S,dispose:S}}};n.runUI=function(n){return function(e){return function(t){return r.bind(d.bindAff)(v.liftEffect(d.monadEffectAff)(u.map(s.functorEffect)(T.toDocument)(r.bindFlipped(s.bindEffect)(H.document)(A.window))))(function(r){return m.runUI(L(r)(t))(n)(e)})}}}}(t["Halogen.VDom.Driver"]=t["Halogen.VDom.Driver"]||{}),function(n){"use strict";(t["Main"]=t["Main"]||{})._mainImpl=function(){return window.PS=t}}(),function(n){"use strict";var e=t.Main,r=t.App,a=t["Component.AccountSettings"],o=t["Component.Add"],u=t["Component.BList"],i=t["Component.NList"],l=t["Component.NNote"],c=t["Control.Bind"],f=(t["Control.Semigroupoid"],t["Data.Foldable"]),s=(t["Data.Function"],t["Data.Functor"]),d=t["Data.Unit"],v=t.Effect,p=t["Effect.Aff"],m=t["Effect.Class"],g=(t["Halogen.Aff"],t["Halogen.Aff.Util"]),D=t["Halogen.VDom.Driver"],b=(t.Model,t.Prelude,t["Web.DOM.Element"]),h=(t["Web.DOM.ParentNode"],t["Web.Event.Event"]),w=t["Web.HTML.HTMLElement"],y=c.bind(p.bindAff)(g.selectElement(".user_footer"))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return m.liftEffect(p.monadEffectAff)(b.removeAttribute("hidden")(w.toElement(n)))})),E=e._mainImpl;n.main=E,n.logoutE=function(n){return c.bindFlipped(v.bindEffect)(function(n){return s.void(v.functorEffect)(p.launchAff(r.logout(n)))})(h.preventDefault(n))},n.renderBookmarks=function(n){return function(e){return g.runHalogenAff(c.bind(p.bindAff)(g.selectElement(n))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return c.discard(c.discardUnit)(p.bindAff)(s.void(p.functorAff)(D.runUI(u.blist(e))(d.unit)(n)))(function(){return y})})))}},n.renderAddForm=function(n){return function(e){return g.runHalogenAff(c.bind(p.bindAff)(g.selectElement(n))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return D.runUI(o.addbmark(e))(d.unit)(n)})))}},n.renderNotes=function(n){return function(e){return g.runHalogenAff(c.bind(p.bindAff)(g.selectElement(n))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return c.discard(c.discardUnit)(p.bindAff)(s.void(p.functorAff)(D.runUI(i.nlist(e))(d.unit)(n)))(function(){return y})})))}},n.renderNote=function(n){return function(e){return g.runHalogenAff(c.bind(p.bindAff)(g.selectElement(n))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return s.void(p.functorAff)(D.runUI(l.nnote(e))(d.unit)(n))})))}},n.renderAccountSettings=function(n){return function(e){return g.runHalogenAff(c.bind(p.bindAff)(g.selectElement(n))(f.traverse_(p.applicativeAff)(f.foldableMaybe)(function(n){return s.void(p.functorAff)(D.runUI(a.usetting(e))(d.unit)(n))})))}},n.showFooter=y,n._mainImpl=e._mainImpl}(t.Main=t.Main||{}),t.Main.main(); },{"moment":"a2/B","marked":"3F7m","process":"pBGv"}]},{},["C4Nx"], null) //# sourceMappingURL=/static/js/app.min.map \ No newline at end of file diff --git a/static/js/app.min.js.gz b/static/js/app.min.js.gz index 29e15403519ae1eb9364f37af309db98ace9986a..a0d99cb336214be2775fdaab63fef99856ed296c 100644 GIT binary patch delta 46379 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 P%hmq^KJwZoD+L7rKu$~I delta 46379 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 0;\n\n for (var i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m);\n var parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n });\n var isNowValid = !isNaN(m._d.getTime()) &&\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n\n if (m._strict) {\n isNowValid = isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n }\n else {\n return isNowValid;\n }\n }\n return m._isValid;\n }\n\n function createInvalid (flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n }\n else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = hooks.momentProperties = [];\n\n function copyConfig(to, from) {\n var i, prop, val;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentProperties.length > 0) {\n for (i = 0; i < momentProperties.length; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n var updateInProgress = false;\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment (obj) {\n return obj instanceof Moment || (obj != null && obj._isAMomentObject != null);\n }\n\n function absFloor (number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if ((dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n function warn(msg) {\n if (hooks.suppressDeprecationWarnings === false &&\n (typeof console !== 'undefined') && console.warn) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [];\n var arg;\n for (var i = 0; i < arguments.length; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (var key in arguments[0]) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(msg + '\\nArguments: ' + Array.prototype.slice.call(args).join('') + '\\n' + (new Error()).stack);\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n }\n\n function set (config) {\n var prop, i;\n for (i in config) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' + (/\\d{1,2}/).source);\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig), prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i, res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n };\n\n function calendar (key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n var defaultLongDateFormat = {\n LTS : 'h:mm:ss A',\n LT : 'h:mm A',\n L : 'MM/DD/YYYY',\n LL : 'MMMM D, YYYY',\n LLL : 'MMMM D, YYYY h:mm A',\n LLLL : 'dddd, MMMM D, YYYY h:mm A'\n };\n\n function longDateFormat (key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) {\n return val.slice(1);\n });\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate () {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d';\n var defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal (number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n };\n\n function relativeTime (number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return (isFunction(output)) ?\n output(number, withoutSuffix, string, isFuture) :\n output.replace(/%d/i, number);\n }\n\n function pastFuture (diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {};\n\n function addUnitAlias (unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n }\n\n function normalizeUnits(units) {\n return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {};\n\n function addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n }\n\n function getPrioritizedUnits(unitsObj) {\n var units = [];\n for (var u in unitsObj) {\n units.push({unit: u, priority: priorities[u]});\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;\n }\n\n var formattingTokens = /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g;\n\n var localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g;\n\n var formatFunctions = {};\n\n var formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken (token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(func.apply(this, arguments), token);\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens), i, length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '', i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i]) ? array[i].call(mom, format) : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var match1 = /\\d/; // 0 - 9\n var match2 = /\\d\\d/; // 00 - 99\n var match3 = /\\d{3}/; // 000 - 999\n var match4 = /\\d{4}/; // 0000 - 9999\n var match6 = /[+-]?\\d{6}/; // -999999 - 999999\n var match1to2 = /\\d\\d?/; // 0 - 99\n var match3to4 = /\\d\\d\\d\\d?/; // 999 - 9999\n var match5to6 = /\\d\\d\\d\\d\\d\\d?/; // 99999 - 999999\n var match1to3 = /\\d{1,3}/; // 0 - 999\n var match1to4 = /\\d{1,4}/; // 0 - 9999\n var match1to6 = /[+-]?\\d{1,6}/; // -999999 - 999999\n\n var matchUnsigned = /\\d+/; // 0 - inf\n var matchSigned = /[+-]?\\d+/; // -inf - inf\n\n var matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi; // +00:00 -00:00 +0000 -0000 or Z\n var matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n\n var matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/; // 123456789 123456789.123\n\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n var matchWord = /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i;\n\n var regexes = {};\n\n function addRegexToken (token, regex, strictRegex) {\n regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) {\n return (isStrict && strictRegex) ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken (token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(s.replace('\\\\', '').replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g, function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }));\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n var tokens = {};\n\n function addParseToken (token, callback) {\n var i, func = callback;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n for (i = 0; i < token.length; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken (token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n var YEAR = 0;\n var MONTH = 1;\n var DATE = 2;\n var HOUR = 3;\n var MINUTE = 4;\n var SECOND = 5;\n var MILLISECOND = 6;\n var WEEK = 7;\n var WEEKDAY = 8;\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? '' + y : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // ALIASES\n\n addUnitAlias('year', 'y');\n\n // PRIORITIES\n\n addUnitPriority('year', 1);\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear () {\n return isLeapYear(this.year());\n }\n\n function makeGetSet (unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get (mom, unit) {\n return mom.isValid() ?\n mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN;\n }\n\n function set$1 (mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (unit === 'FullYear' && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month()));\n }\n else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n }\n\n // MOMENTS\n\n function stringGet (units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n\n function stringSet (units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units);\n for (var i = 0; i < prioritized.length; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1 ? (isLeapYear(year) ? 29 : 28) : (31 - modMonth % 7 % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // ALIASES\n\n addUnitAlias('month', 'M');\n\n // PRIORITY\n\n addUnitPriority('month', 8);\n\n // PARSING\n\n addRegexToken('M', match1to2);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/;\n var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_');\n function localeMonths (m, format) {\n if (!m) {\n return isArray(this._months) ? this._months :\n this._months['standalone'];\n }\n return isArray(this._months) ? this._months[m.month()] :\n this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()];\n }\n\n var defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_');\n function localeMonthsShort (m, format) {\n if (!m) {\n return isArray(this._monthsShort) ? this._monthsShort :\n this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort) ? this._monthsShort[m.month()] :\n this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i, ii, mom, llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse (monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i');\n this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i');\n }\n if (!strict && !this._monthsParse[i]) {\n regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) {\n return i;\n } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth (mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\n }\n\n function getSetMonth (value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth () {\n return daysInMonth(this.year(), this.month());\n }\n\n var defaultMonthsShortRegex = matchWord;\n function monthsShortRegex (isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict ?\n this._monthsShortStrictRegex : this._monthsShortRegex;\n }\n }\n\n var defaultMonthsRegex = matchWord;\n function monthsRegex (isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict ?\n this._monthsStrictRegex : this._monthsRegex;\n }\n }\n\n function computeMonthsParse () {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [], longPieces = [], mixedPieces = [],\n i, mom;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n }\n\n function createDate (y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date;\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n }\n\n function createUTCDate (y) {\n var date;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n var args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear, resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek, resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // ALIASES\n\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W');\n\n // PRIORITIES\n\n addUnitPriority('week', 5);\n addUnitPriority('isoWeek', 5);\n\n // PARSING\n\n addRegexToken('w', match1to2);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n });\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek (mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 6th is the first week of the year.\n };\n\n function localeFirstDayOfWeek () {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear () {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek (input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek (input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // ALIASES\n\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E');\n\n // PRIORITY\n addUnitPriority('day', 11);\n addUnitPriority('weekday', 11);\n addUnitPriority('isoWeekday', 11);\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n function shiftWeekdays (ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_');\n function localeWeekdays (m, format) {\n var weekdays = isArray(this._weekdays) ? this._weekdays :\n this._weekdays[(m && m !== true && this._weekdays.isFormat.test(format)) ? 'format' : 'standalone'];\n return (m === true) ? shiftWeekdays(weekdays, this._week.dow)\n : (m) ? weekdays[m.day()] : weekdays;\n }\n\n var defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_');\n function localeWeekdaysShort (m) {\n return (m === true) ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n : (m) ? this._weekdaysShort[m.day()] : this._weekdaysShort;\n }\n\n var defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_');\n function localeWeekdaysMin (m) {\n return (m === true) ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n : (m) ? this._weekdaysMin[m.day()] : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i, ii, mom, llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse (weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$', 'i');\n this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$', 'i');\n this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$', 'i');\n }\n if (!this._weekdaysParse[i]) {\n regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n var defaultWeekdaysRegex = matchWord;\n function weekdaysRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict ?\n this._weekdaysStrictRegex : this._weekdaysRegex;\n }\n }\n\n var defaultWeekdaysShortRegex = matchWord;\n function weekdaysShortRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict ?\n this._weekdaysShortStrictRegex : this._weekdaysShortRegex;\n }\n }\n\n var defaultWeekdaysMinRegex = matchWord;\n function weekdaysMinRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict ?\n this._weekdaysMinStrictRegex : this._weekdaysMinRegex;\n }\n }\n\n\n function computeWeekdaysParse () {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [],\n i, mom, minp, shortp, longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = this.weekdaysMin(mom, '');\n shortp = this.weekdaysShort(mom, '');\n longp = this.weekdays(mom, '');\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 7; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i');\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2);\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2);\n });\n\n function meridiem (token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // ALIASES\n\n addUnitAlias('hour', 'h');\n\n // PRIORITY\n addUnitPriority('hour', 13);\n\n // PARSING\n\n function matchMeridiem (isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2);\n addRegexToken('h', match1to2);\n addRegexToken('k', match1to2);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4;\n var pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4;\n var pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM (input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return ((input + '').toLowerCase().charAt(0) === 'p');\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i;\n function localeMeridiem (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n\n // MOMENTS\n\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n var getSetHour = makeGetSet('Hours', true);\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse\n };\n\n // internal storage for locale config files\n var locales = {};\n var localeFamilies = {};\n var globalLocale;\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0, j, next, locale, split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function loadLocale(name) {\n var oldLocale = null;\n // TODO: Find a better way to register and load all the locales in Node\n if (!locales[name] && (typeof module !== 'undefined') &&\n module && module.exports) {\n try {\n oldLocale = globalLocale._abbr;\n var aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {}\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale (key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n }\n else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n }\n else {\n if ((typeof console !== 'undefined') && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn('Locale ' + key + ' not found. Did you forget to load it?');\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale (name, config) {\n if (config !== null) {\n var locale, parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple('defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.');\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale, tmpLocale, parentConfig = baseConfig;\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale (key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow (m) {\n var overflow;\n var a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11 ? MONTH :\n a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE :\n a[HOUR] < 0 || a[HOUR] > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR :\n a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE :\n a[SECOND] < 0 || a[SECOND] > 59 ? SECOND :\n a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND :\n -1;\n\n if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray (config) {\n var i, date, input = [], currentDate, expectedWeekday, yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);\n expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== expectedWeekday) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year);\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n var curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\n var basicIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\n\n var tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/;\n\n var isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n // YYYYMM is NOT allowed by the standard\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/]\n ];\n\n // iso time formats and regexes\n var isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/]\n ];\n\n var aspNetJsonRegex = /^\\/?Date\\((\\-?\\d+)/i;\n\n // date from iso format\n function configFromISO(config) {\n var i, l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime, dateFormat, timeFormat, tzFormat;\n\n if (match) {\n getParsingFlags(config).iso = true;\n\n for (i = 0, l = isoDates.length; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimes.length; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n var rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/;\n\n function extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10)\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s.replace(/\\([^)]*\\)|[\\n\\t]/g, ' ').replace(/(\\s\\s+)/g, ' ').replace(/^\\s\\s*/, '').replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an indepentent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n var obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60\n };\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10);\n var m = hm % 100, h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i));\n if (match) {\n var parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]);\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from iso format or fallback\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged and will be removed in an upcoming major release. Please refer to ' +\n 'http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i, parsedInput, tokens, token, skipped,\n stringLength = string.length,\n totalParsedInputLength = 0;\n\n tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];\n\n for (i = 0; i < tokens.length; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];\n // console.log('token', token, 'parsedInput', parsedInput,\n // 'regex', getParseRegexForToken(token, config));\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(string.indexOf(parsedInput) + parsedInput.length);\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n }\n else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n }\n else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem);\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n\n function meridiemFixWrap (locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n\n scoreToBeat,\n i,\n currentScore;\n\n if (config._f.length === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < config._f.length; i++) {\n currentScore = 0;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (!isValid(tempConfig)) {\n continue;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (scoreToBeat == null || currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i);\n config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) {\n return obj && parseInt(obj, 10);\n });\n\n configFromArray(config);\n }\n\n function createFromConfig (config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig (config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({nullInput: true});\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC (input, format, locale, strict, isUTC) {\n var c = {};\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if ((isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal (input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n var prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min () {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max () {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +(new Date());\n };\n\n var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond'];\n\n function isDurationValid(m) {\n for (var key in m) {\n if (!(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) {\n return false;\n }\n }\n\n var unitHasDecimal = false;\n for (var i = 0; i < ordering.length; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration (duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds = +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days +\n weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months +\n quarters * 3 +\n years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration (obj) {\n return obj instanceof Duration;\n }\n\n function absRound (number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // FORMATTING\n\n function offset (token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset();\n var sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2);\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher);\n\n if (matches === null) {\n return null;\n }\n\n var chunk = matches[matches.length - 1] || [];\n var parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n var minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ?\n 0 :\n parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset (m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset() / 15) * 15;\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset (input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(this, createDuration(input - offset, 'm'), 1, false);\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone (input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC (keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal (keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset () {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n }\n else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset (input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime () {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted () {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {};\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n var other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted = this.isValid() &&\n compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal () {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset () {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc () {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(\\-|\\+)?(?:(\\d*)[. ])?(\\d+)\\:(\\d+)(?:\\:(\\d+)(\\.\\d*)?)?$/;\n\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n var isoRegex = /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration (input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms : input._milliseconds,\n d : input._days,\n M : input._months\n };\n } else if (isNumber(input)) {\n duration = {};\n if (key) {\n duration[key] = input;\n } else {\n duration.milliseconds = input;\n }\n } else if (!!(match = aspNetRegex.exec(input))) {\n sign = (match[1] === '-') ? -1 : 1;\n duration = {\n y : 0,\n d : toInt(match[DATE]) * sign,\n h : toInt(match[HOUR]) * sign,\n m : toInt(match[MINUTE]) * sign,\n s : toInt(match[SECOND]) * sign,\n ms : toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match\n };\n } else if (!!(match = isoRegex.exec(input))) {\n sign = (match[1] === '-') ? -1 : 1;\n duration = {\n y : parseIso(match[2], sign),\n M : parseIso(match[3], sign),\n w : parseIso(match[4], sign),\n d : parseIso(match[5], sign),\n h : parseIso(match[6], sign),\n m : parseIso(match[7], sign),\n s : parseIso(match[8], sign)\n };\n } else if (duration == null) {// checks for null or undefined\n duration = {};\n } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) {\n diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to));\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso (inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n\n res.months = other.month() - base.month() +\n (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +(base.clone().add(res.months, 'M'));\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return {milliseconds: 0, months: 0};\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.');\n tmp = val; val = period; period = tmp;\n }\n\n val = typeof val === 'string' ? +val : val;\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract (mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add');\n var subtract = createAdder(-1, 'subtract');\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6 ? 'sameElse' :\n diff < -1 ? 'lastWeek' :\n diff < 0 ? 'lastDay' :\n diff < 1 ? 'sameDay' :\n diff < 2 ? 'nextDay' :\n diff < 7 ? 'nextWeek' : 'sameElse';\n }\n\n function calendar$1 (time, formats) {\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse';\n\n var output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]);\n\n return this.format(output || this.localeData().calendar(format, this, createLocal(now)));\n }\n\n function clone () {\n return new Moment(this);\n }\n\n function isAfter (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween (from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (inclusivity[0] === '(' ? this.isAfter(localFrom, units) : !this.isBefore(localFrom, units)) &&\n (inclusivity[1] === ')' ? this.isBefore(localTo, units) : !this.isAfter(localTo, units));\n }\n\n function isSame (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf();\n }\n }\n\n function isSameOrAfter (input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore (input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff (input, units, asFloat) {\n var that,\n zoneDelta,\n output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year': output = monthDiff(this, that) / 12; break;\n case 'month': output = monthDiff(this, that); break;\n case 'quarter': output = monthDiff(this, that) / 3; break;\n case 'second': output = (this - that) / 1e3; break; // 1000\n case 'minute': output = (this - that) / 6e4; break; // 1000 * 60\n case 'hour': output = (this - that) / 36e5; break; // 1000 * 60 * 60\n case 'day': output = (this - that - zoneDelta) / 864e5; break; // 1000 * 60 * 60 * 24, negate dst\n case 'week': output = (this - that - zoneDelta) / 6048e5; break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default: output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff (a, b) {\n // difference in months\n var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2, adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString () {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true;\n var m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(m, utc ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000).toISOString().replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(m, utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect () {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment';\n var zone = '';\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n var prefix = '[' + func + '(\"]';\n var year = (0 <= this.year() && this.year() <= 9999) ? 'YYYY' : 'YYYYYY';\n var datetime = '-MM-DD[T]HH:mm:ss.SSS';\n var suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format (inputString) {\n if (!inputString) {\n inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from (time, withoutSuffix) {\n if (this.isValid() &&\n ((isMoment(time) && time.isValid()) ||\n createLocal(time).isValid())) {\n return createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow (withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to (time, withoutSuffix) {\n if (this.isValid() &&\n ((isMoment(time) && time.isValid()) ||\n createLocal(time).isValid())) {\n return createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow (withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale (key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData () {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000;\n var MS_PER_MINUTE = 60 * MS_PER_SECOND;\n var MS_PER_HOUR = 60 * MS_PER_MINUTE;\n var MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n // actual modulo - handles negative numbers (for dates before 1970):\n function mod$1(dividend, divisor) {\n return (dividend % divisor + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf (units) {\n var time;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n var startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(this.year(), this.month() - this.month() % 3, 1);\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(this.year(), this.month(), this.date() - this.weekday());\n break;\n case 'isoWeek':\n time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1));\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR);\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf (units) {\n var time;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n var startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time = startOfDate(this.year(), this.month() - this.month() % 3 + 3, 1) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time = startOfDate(this.year(), this.month(), this.date() - this.weekday() + 7) - 1;\n break;\n case 'isoWeek':\n time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1) + 7) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time += MS_PER_HOUR - mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR) - 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf () {\n return this._d.valueOf() - ((this._offset || 0) * 60000);\n }\n\n function unix () {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate () {\n return new Date(this.valueOf());\n }\n\n function toArray () {\n var m = this;\n return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];\n }\n\n function toObject () {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds()\n };\n }\n\n function toJSON () {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2 () {\n return isValid(this);\n }\n\n function parsingFlags () {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt () {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict\n };\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken (token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG');\n\n // PRIORITY\n\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1);\n\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n });\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear (input) {\n return getSetWeekYearHelper.call(this,\n input,\n this.week(),\n this.weekday(),\n this.localeData()._week.dow,\n this.localeData()._week.doy);\n }\n\n function getSetISOWeekYear (input) {\n return getSetWeekYearHelper.call(this,\n input, this.isoWeek(), this.isoWeekday(), 1, 4);\n }\n\n function getISOWeeksInYear () {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getWeeksInYear () {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // ALIASES\n\n addUnitAlias('quarter', 'Q');\n\n // PRIORITY\n\n addUnitPriority('quarter', 7);\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter (input) {\n return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // ALIASES\n\n addUnitAlias('date', 'D');\n\n // PRIORITY\n addUnitPriority('date', 9);\n\n // PARSING\n\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict ?\n (locale._dayOfMonthOrdinalParse || locale._ordinalParse) :\n locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD');\n\n // PRIORITY\n addUnitPriority('dayOfYear', 4);\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear (input) {\n var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1;\n return input == null ? dayOfYear : this.add((input - dayOfYear), 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // ALIASES\n\n addUnitAlias('minute', 'm');\n\n // PRIORITY\n\n addUnitPriority('minute', 14);\n\n // PARSING\n\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // ALIASES\n\n addUnitAlias('second', 's');\n\n // PRIORITY\n\n addUnitPriority('second', 15);\n\n // PARSING\n\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n\n // ALIASES\n\n addUnitAlias('millisecond', 'ms');\n\n // PRIORITY\n\n addUnitPriority('millisecond', 16);\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n // MOMENTS\n\n var getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr () {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName () {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);\n proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);\n proto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear);\n proto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone);\n proto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted);\n\n function createUnix (input) {\n return createLocal(input * 1000);\n }\n\n function createInZone () {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat (string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1 (format, index, field, setter) {\n var locale = getLocale();\n var utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl (format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i;\n var out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl (localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0;\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n var i;\n var out = [];\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths (format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort (format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (toInt(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n });\n\n // Side effect imports\n\n hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale);\n hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale);\n\n var mathAbs = Math.abs;\n\n function abs () {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1 (duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1 (input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1 (input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil (number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble () {\n var milliseconds = this._milliseconds;\n var days = this._days;\n var months = this._months;\n var data = this._data;\n var seconds, minutes, hours, years, monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (!((milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0))) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths (days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return days * 4800 / 146097;\n }\n\n function monthsToDays (months) {\n // the reverse of daysToMonths\n return months * 146097 / 4800;\n }\n\n function as (units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days;\n var months;\n var milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month': return months;\n case 'quarter': return months / 3;\n case 'year': return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week' : return days / 7 + milliseconds / 6048e5;\n case 'day' : return days + milliseconds / 864e5;\n case 'hour' : return days * 24 + milliseconds / 36e5;\n case 'minute' : return days * 1440 + milliseconds / 6e4;\n case 'second' : return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond': return Math.floor(days * 864e5) + milliseconds;\n default: throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n // TODO: Use this.as('ms')?\n function valueOf$1 () {\n if (!this.isValid()) {\n return NaN;\n }\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\n );\n }\n\n function makeAs (alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms');\n var asSeconds = makeAs('s');\n var asMinutes = makeAs('m');\n var asHours = makeAs('h');\n var asDays = makeAs('d');\n var asWeeks = makeAs('w');\n var asMonths = makeAs('M');\n var asQuarters = makeAs('Q');\n var asYears = makeAs('y');\n\n function clone$1 () {\n return createDuration(this);\n }\n\n function get$2 (units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds');\n var seconds = makeGetter('seconds');\n var minutes = makeGetter('minutes');\n var hours = makeGetter('hours');\n var days = makeGetter('days');\n var months = makeGetter('months');\n var years = makeGetter('years');\n\n function weeks () {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round;\n var thresholds = {\n ss: 44, // a few seconds to seconds\n s : 45, // seconds to minute\n m : 45, // minutes to hour\n h : 22, // hours to day\n d : 26, // days to month\n M : 11 // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1 (posNegDuration, withoutSuffix, locale) {\n var duration = createDuration(posNegDuration).abs();\n var seconds = round(duration.as('s'));\n var minutes = round(duration.as('m'));\n var hours = round(duration.as('h'));\n var days = round(duration.as('d'));\n var months = round(duration.as('M'));\n var years = round(duration.as('y'));\n\n var a = seconds <= thresholds.ss && ['s', seconds] ||\n seconds < thresholds.s && ['ss', seconds] ||\n minutes <= 1 && ['m'] ||\n minutes < thresholds.m && ['mm', minutes] ||\n hours <= 1 && ['h'] ||\n hours < thresholds.h && ['hh', hours] ||\n days <= 1 && ['d'] ||\n days < thresholds.d && ['dd', days] ||\n months <= 1 && ['M'] ||\n months < thresholds.M && ['MM', months] ||\n years <= 1 && ['y'] || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding (roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof(roundingFunction) === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold (threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize (withSuffix) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var locale = this.localeData();\n var output = relativeTime$1(this, !withSuffix, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return ((x > 0) - (x < 0)) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000;\n var days = abs$1(this._days);\n var months = abs$1(this._months);\n var minutes, hours, years;\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n var Y = years;\n var M = months;\n var D = days;\n var h = hours;\n var m = minutes;\n var s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n var total = this.asSeconds();\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n var totalSign = total < 0 ? '-' : '';\n var ymSign = sign(this._months) !== sign(total) ? '-' : '';\n var daysSign = sign(this._days) !== sign(total) ? '-' : '';\n var hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return totalSign + 'P' +\n (Y ? ymSign + Y + 'Y' : '') +\n (M ? ymSign + M + 'M' : '') +\n (D ? daysSign + D + 'D' : '') +\n ((h || m || s) ? 'T' : '') +\n (h ? hmsSign + h + 'H' : '') +\n (m ? hmsSign + m + 'M' : '') +\n (s ? hmsSign + s + 'S' : '');\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1);\n proto$2.lang = lang;\n\n // Side effect imports\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input, 10) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n // Side effect imports\n\n\n hooks.version = '2.24.0';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // \n DATE: 'YYYY-MM-DD', // \n TIME: 'HH:mm', // \n TIME_SECONDS: 'HH:mm:ss', // \n TIME_MS: 'HH:mm:ss.SSS', // \n WEEK: 'GGGG-[W]WW', // \n MONTH: 'YYYY-MM' // \n };\n\n return hooks;\n\n})));\n","/**\n * marked - a markdown parser\n * Copyright (c) 2011-2018, Christopher Jeffrey. (MIT Licensed)\n * https://github.com/markedjs/marked\n */\n\n;(function(root) {\n'use strict';\n\n/**\n * Block-Level Grammar\n */\n\nvar block = {\n newline: /^\\n+/,\n code: /^( {4}[^\\n]+\\n*)+/,\n fences: noop,\n hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)/,\n heading: /^ *(#{1,6}) *([^\\n]+?) *(?:#+ *)?(?:\\n+|$)/,\n nptable: noop,\n blockquote: /^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/,\n list: /^( {0,3})(bull) [\\s\\S]+?(?:hr|def|\\n{2,}(?! )(?!\\1bull )\\n*|\\s*$)/,\n html: '^ {0,3}(?:' // optional indentation\n + '<(script|pre|style)[\\\\s>][\\\\s\\\\S]*?(?:[^\\\\n]*\\\\n+|$)' // (1)\n + '|comment[^\\\\n]*(\\\\n+|$)' // (2)\n + '|<\\\\?[\\\\s\\\\S]*?\\\\?>\\\\n*' // (3)\n + '|\\\\n*' // (4)\n + '|\\\\n*' // (5)\n + '|)[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (6)\n + '|<(?!script|pre|style)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=\\\\h*\\\\n)[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) open tag\n + '|(?=\\\\h*\\\\n)[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) closing tag\n + ')',\n def: /^ {0,3}\\[(label)\\]: *\\n? *]+)>?(?:(?: +\\n? *| *\\n *)(title))? *(?:\\n+|$)/,\n table: noop,\n lheading: /^([^\\n]+)\\n *(=|-){2,} *(?:\\n+|$)/,\n paragraph: /^([^\\n]+(?:\\n(?!hr|heading|lheading| {0,3}>|<\\/?(?:tag)(?: +|\\n|\\/?>)|<(?:script|pre|style|!--))[^\\n]+)*)/,\n text: /^[^\\n]+/\n};\n\nblock._label = /(?!\\s*\\])(?:\\\\[\\[\\]]|[^\\[\\]])+/;\nblock._title = /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/;\nblock.def = edit(block.def)\n .replace('label', block._label)\n .replace('title', block._title)\n .getRegex();\n\nblock.bullet = /(?:[*+-]|\\d{1,9}\\.)/;\nblock.item = /^( *)(bull) ?[^\\n]*(?:\\n(?!\\1bull ?)[^\\n]*)*/;\nblock.item = edit(block.item, 'gm')\n .replace(/bull/g, block.bullet)\n .getRegex();\n\nblock.list = edit(block.list)\n .replace(/bull/g, block.bullet)\n .replace('hr', '\\\\n+(?=\\\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$))')\n .replace('def', '\\\\n+(?=' + block.def.source + ')')\n .getRegex();\n\nblock._tag = 'address|article|aside|base|basefont|blockquote|body|caption'\n + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption'\n + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe'\n + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option'\n + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr'\n + '|track|ul';\nblock._comment = //;\nblock.html = edit(block.html, 'i')\n .replace('comment', block._comment)\n .replace('tag', block._tag)\n .replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/)\n .getRegex();\n\nblock.paragraph = edit(block.paragraph)\n .replace('hr', block.hr)\n .replace('heading', block.heading)\n .replace('lheading', block.lheading)\n .replace('tag', block._tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\n\nblock.blockquote = edit(block.blockquote)\n .replace('paragraph', block.paragraph)\n .getRegex();\n\n/**\n * Normal Block Grammar\n */\n\nblock.normal = merge({}, block);\n\n/**\n * GFM Block Grammar\n */\n\nblock.gfm = merge({}, block.normal, {\n fences: /^ {0,3}(`{3,}|~{3,})([^`\\n]*)\\n(?:|([\\s\\S]*?)\\n)(?: {0,3}\\1[~`]* *(?:\\n+|$)|$)/,\n paragraph: /^/,\n heading: /^ *(#{1,6}) +([^\\n]+?) *#* *(?:\\n+|$)/\n});\n\nblock.gfm.paragraph = edit(block.paragraph)\n .replace('(?!', '(?!'\n + block.gfm.fences.source.replace('\\\\1', '\\\\2') + '|'\n + block.list.source.replace('\\\\1', '\\\\3') + '|')\n .getRegex();\n\n/**\n * GFM + Tables Block Grammar\n */\n\nblock.tables = merge({}, block.gfm, {\n nptable: /^ *([^|\\n ].*\\|.*)\\n *([-:]+ *\\|[-| :]*)(?:\\n((?:.*[^>\\n ].*(?:\\n|$))*)\\n*|$)/,\n table: /^ *\\|(.+)\\n *\\|?( *[-:]+[-| :]*)(?:\\n((?: *[^>\\n ].*(?:\\n|$))*)\\n*|$)/\n});\n\n/**\n * Pedantic grammar\n */\n\nblock.pedantic = merge({}, block.normal, {\n html: edit(\n '^ *(?:comment *(?:\\\\n|\\\\s*$)'\n + '|<(tag)[\\\\s\\\\S]+? *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n + '|\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))')\n .replace('comment', block._comment)\n .replace(/tag/g, '(?!(?:'\n + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub'\n + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)'\n + '\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b')\n .getRegex(),\n def: /^ *\\[([^\\]]+)\\]: *]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/\n});\n\n/**\n * Block Lexer\n */\n\nfunction Lexer(options) {\n this.tokens = [];\n this.tokens.links = Object.create(null);\n this.options = options || marked.defaults;\n this.rules = block.normal;\n\n if (this.options.pedantic) {\n this.rules = block.pedantic;\n } else if (this.options.gfm) {\n if (this.options.tables) {\n this.rules = block.tables;\n } else {\n this.rules = block.gfm;\n }\n }\n}\n\n/**\n * Expose Block Rules\n */\n\nLexer.rules = block;\n\n/**\n * Static Lex Method\n */\n\nLexer.lex = function(src, options) {\n var lexer = new Lexer(options);\n return lexer.lex(src);\n};\n\n/**\n * Preprocessing\n */\n\nLexer.prototype.lex = function(src) {\n src = src\n .replace(/\\r\\n|\\r/g, '\\n')\n .replace(/\\t/g, ' ')\n .replace(/\\u00a0/g, ' ')\n .replace(/\\u2424/g, '\\n');\n\n return this.token(src, true);\n};\n\n/**\n * Lexing\n */\n\nLexer.prototype.token = function(src, top) {\n src = src.replace(/^ +$/gm, '');\n var next,\n loose,\n cap,\n bull,\n b,\n item,\n listStart,\n listItems,\n t,\n space,\n i,\n tag,\n l,\n isordered,\n istask,\n ischecked;\n\n while (src) {\n // newline\n if (cap = this.rules.newline.exec(src)) {\n src = src.substring(cap[0].length);\n if (cap[0].length > 1) {\n this.tokens.push({\n type: 'space'\n });\n }\n }\n\n // code\n if (cap = this.rules.code.exec(src)) {\n src = src.substring(cap[0].length);\n cap = cap[0].replace(/^ {4}/gm, '');\n this.tokens.push({\n type: 'code',\n text: !this.options.pedantic\n ? rtrim(cap, '\\n')\n : cap\n });\n continue;\n }\n\n // fences (gfm)\n if (cap = this.rules.fences.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'code',\n lang: cap[2] ? cap[2].trim() : cap[2],\n text: cap[3] || ''\n });\n continue;\n }\n\n // heading\n if (cap = this.rules.heading.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'heading',\n depth: cap[1].length,\n text: cap[2]\n });\n continue;\n }\n\n // table no leading pipe (gfm)\n if (top && (cap = this.rules.nptable.exec(src))) {\n item = {\n type: 'table',\n header: splitCells(cap[1].replace(/^ *| *\\| *$/g, '')),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3] ? cap[3].replace(/\\n$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n src = src.substring(cap[0].length);\n\n for (i = 0; i < item.align.length; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n for (i = 0; i < item.cells.length; i++) {\n item.cells[i] = splitCells(item.cells[i], item.header.length);\n }\n\n this.tokens.push(item);\n\n continue;\n }\n }\n\n // hr\n if (cap = this.rules.hr.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'hr'\n });\n continue;\n }\n\n // blockquote\n if (cap = this.rules.blockquote.exec(src)) {\n src = src.substring(cap[0].length);\n\n this.tokens.push({\n type: 'blockquote_start'\n });\n\n cap = cap[0].replace(/^ *> ?/gm, '');\n\n // Pass `top` to keep the current\n // \"toplevel\" state. This is exactly\n // how markdown.pl works.\n this.token(cap, top);\n\n this.tokens.push({\n type: 'blockquote_end'\n });\n\n continue;\n }\n\n // list\n if (cap = this.rules.list.exec(src)) {\n src = src.substring(cap[0].length);\n bull = cap[2];\n isordered = bull.length > 1;\n\n listStart = {\n type: 'list_start',\n ordered: isordered,\n start: isordered ? +bull : '',\n loose: false\n };\n\n this.tokens.push(listStart);\n\n // Get each top-level item.\n cap = cap[0].match(this.rules.item);\n\n listItems = [];\n next = false;\n l = cap.length;\n i = 0;\n\n for (; i < l; i++) {\n item = cap[i];\n\n // Remove the list item's bullet\n // so it is seen as the next token.\n space = item.length;\n item = item.replace(/^ *([*+-]|\\d+\\.) */, '');\n\n // Outdent whatever the\n // list item contains. Hacky.\n if (~item.indexOf('\\n ')) {\n space -= item.length;\n item = !this.options.pedantic\n ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '')\n : item.replace(/^ {1,4}/gm, '');\n }\n\n // Determine whether the next list item belongs here.\n // Backpedal if it does not belong in this list.\n if (i !== l - 1) {\n b = block.bullet.exec(cap[i + 1])[0];\n if (bull.length > 1 ? b.length === 1\n : (b.length > 1 || (this.options.smartLists && b !== bull))) {\n src = cap.slice(i + 1).join('\\n') + src;\n i = l - 1;\n }\n }\n\n // Determine whether item is loose or not.\n // Use: /(^|\\n)(?! )[^\\n]+\\n\\n(?!\\s*$)/\n // for discount behavior.\n loose = next || /\\n\\n(?!\\s*$)/.test(item);\n if (i !== l - 1) {\n next = item.charAt(item.length - 1) === '\\n';\n if (!loose) loose = next;\n }\n\n if (loose) {\n listStart.loose = true;\n }\n\n // Check for task list items\n istask = /^\\[[ xX]\\] /.test(item);\n ischecked = undefined;\n if (istask) {\n ischecked = item[1] !== ' ';\n item = item.replace(/^\\[[ xX]\\] +/, '');\n }\n\n t = {\n type: 'list_item_start',\n task: istask,\n checked: ischecked,\n loose: loose\n };\n\n listItems.push(t);\n this.tokens.push(t);\n\n // Recurse.\n this.token(item, false);\n\n this.tokens.push({\n type: 'list_item_end'\n });\n }\n\n if (listStart.loose) {\n l = listItems.length;\n i = 0;\n for (; i < l; i++) {\n listItems[i].loose = true;\n }\n }\n\n this.tokens.push({\n type: 'list_end'\n });\n\n continue;\n }\n\n // html\n if (cap = this.rules.html.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: this.options.sanitize\n ? 'paragraph'\n : 'html',\n pre: !this.options.sanitizer\n && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'),\n text: cap[0]\n });\n continue;\n }\n\n // def\n if (top && (cap = this.rules.def.exec(src))) {\n src = src.substring(cap[0].length);\n if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1);\n tag = cap[1].toLowerCase().replace(/\\s+/g, ' ');\n if (!this.tokens.links[tag]) {\n this.tokens.links[tag] = {\n href: cap[2],\n title: cap[3]\n };\n }\n continue;\n }\n\n // table (gfm)\n if (top && (cap = this.rules.table.exec(src))) {\n item = {\n type: 'table',\n header: splitCells(cap[1].replace(/^ *| *\\| *$/g, '')),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3] ? cap[3].replace(/(?: *\\| *)?\\n$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n src = src.substring(cap[0].length);\n\n for (i = 0; i < item.align.length; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n for (i = 0; i < item.cells.length; i++) {\n item.cells[i] = splitCells(\n item.cells[i].replace(/^ *\\| *| *\\| *$/g, ''),\n item.header.length);\n }\n\n this.tokens.push(item);\n\n continue;\n }\n }\n\n // lheading\n if (cap = this.rules.lheading.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'heading',\n depth: cap[2] === '=' ? 1 : 2,\n text: cap[1]\n });\n continue;\n }\n\n // top-level paragraph\n if (top && (cap = this.rules.paragraph.exec(src))) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'paragraph',\n text: cap[1].charAt(cap[1].length - 1) === '\\n'\n ? cap[1].slice(0, -1)\n : cap[1]\n });\n continue;\n }\n\n // text\n if (cap = this.rules.text.exec(src)) {\n // Top-level should never reach here.\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'text',\n text: cap[0]\n });\n continue;\n }\n\n if (src) {\n throw new Error('Infinite loop on byte: ' + src.charCodeAt(0));\n }\n }\n\n return this.tokens;\n};\n\n/**\n * Inline-Level Grammar\n */\n\nvar inline = {\n escape: /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,\n autolink: /^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/,\n url: noop,\n tag: '^comment'\n + '|^' // self-closing tag\n + '|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>' // open tag\n + '|^<\\\\?[\\\\s\\\\S]*?\\\\?>' // processing instruction, e.g. \n + '|^' // declaration, e.g. \n + '|^', // CDATA section\n link: /^!?\\[(label)\\]\\(href(?:\\s+(title))?\\s*\\)/,\n reflink: /^!?\\[(label)\\]\\[(?!\\s*\\])((?:\\\\[\\[\\]]?|[^\\[\\]\\\\])+)\\]/,\n nolink: /^!?\\[(?!\\s*\\])((?:\\[[^\\[\\]]*\\]|\\\\[\\[\\]]|[^\\[\\]])*)\\](?:\\[\\])?/,\n strong: /^__([^\\s_])__(?!_)|^\\*\\*([^\\s*])\\*\\*(?!\\*)|^__([^\\s][\\s\\S]*?[^\\s])__(?!_)|^\\*\\*([^\\s][\\s\\S]*?[^\\s])\\*\\*(?!\\*)/,\n em: /^_([^\\s_])_(?!_)|^\\*([^\\s*\"<\\[])\\*(?!\\*)|^_([^\\s][\\s\\S]*?[^\\s_])_(?!_|[^\\spunctuation])|^_([^\\s_][\\s\\S]*?[^\\s])_(?!_|[^\\spunctuation])|^\\*([^\\s\"<\\[][\\s\\S]*?[^\\s*])\\*(?!\\*)|^\\*([^\\s*\"<\\[][\\s\\S]*?[^\\s])\\*(?!\\*)/,\n code: /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/,\n br: /^( {2,}|\\\\)\\n(?!\\s*$)/,\n del: noop,\n text: /^(`+|[^`])[\\s\\S]*?(?=[\\\\?@\\\\[^_{|}~';\ninline.em = edit(inline.em).replace(/punctuation/g, inline._punctuation).getRegex();\n\ninline._escapes = /\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/g;\n\ninline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;\ninline._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/;\ninline.autolink = edit(inline.autolink)\n .replace('scheme', inline._scheme)\n .replace('email', inline._email)\n .getRegex();\n\ninline._attribute = /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/;\n\ninline.tag = edit(inline.tag)\n .replace('comment', block._comment)\n .replace('attribute', inline._attribute)\n .getRegex();\n\ninline._label = /(?:\\[[^\\[\\]]*\\]|\\\\[\\[\\]]?|`[^`]*`|[^\\[\\]\\\\])*?/;\ninline._href = /\\s*(<(?:\\\\[<>]?|[^\\s<>\\\\])*>|(?:\\\\[()]?|\\([^\\s\\x00-\\x1f\\\\]*\\)|[^\\s\\x00-\\x1f()\\\\])*?)/;\ninline._title = /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/;\n\ninline.link = edit(inline.link)\n .replace('label', inline._label)\n .replace('href', inline._href)\n .replace('title', inline._title)\n .getRegex();\n\ninline.reflink = edit(inline.reflink)\n .replace('label', inline._label)\n .getRegex();\n\n/**\n * Normal Inline Grammar\n */\n\ninline.normal = merge({}, inline);\n\n/**\n * Pedantic Inline Grammar\n */\n\ninline.pedantic = merge({}, inline.normal, {\n strong: /^__(?=\\S)([\\s\\S]*?\\S)__(?!_)|^\\*\\*(?=\\S)([\\s\\S]*?\\S)\\*\\*(?!\\*)/,\n em: /^_(?=\\S)([\\s\\S]*?\\S)_(?!_)|^\\*(?=\\S)([\\s\\S]*?\\S)\\*(?!\\*)/,\n link: edit(/^!?\\[(label)\\]\\((.*?)\\)/)\n .replace('label', inline._label)\n .getRegex(),\n reflink: edit(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/)\n .replace('label', inline._label)\n .getRegex()\n});\n\n/**\n * GFM Inline Grammar\n */\n\ninline.gfm = merge({}, inline.normal, {\n escape: edit(inline.escape).replace('])', '~|])').getRegex(),\n _extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,\n url: /^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/,\n _backpedal: /(?:[^?!.,:;*_~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,\n del: /^~+(?=\\S)([\\s\\S]*?\\S)~+/,\n text: edit(inline.text)\n .replace(']|', '~]|')\n .replace('|$', '|https?://|ftp://|www\\\\.|[a-zA-Z0-9.!#$%&\\'*+/=?^_`{\\\\|}~-]+@|$')\n .getRegex()\n});\n\ninline.gfm.url = edit(inline.gfm.url, 'i')\n .replace('email', inline.gfm._extended_email)\n .getRegex();\n/**\n * GFM + Line Breaks Inline Grammar\n */\n\ninline.breaks = merge({}, inline.gfm, {\n br: edit(inline.br).replace('{2,}', '*').getRegex(),\n text: edit(inline.gfm.text).replace('{2,}', '*').getRegex()\n});\n\n/**\n * Inline Lexer & Compiler\n */\n\nfunction InlineLexer(links, options) {\n this.options = options || marked.defaults;\n this.links = links;\n this.rules = inline.normal;\n this.renderer = this.options.renderer || new Renderer();\n this.renderer.options = this.options;\n\n if (!this.links) {\n throw new Error('Tokens array requires a `links` property.');\n }\n\n if (this.options.pedantic) {\n this.rules = inline.pedantic;\n } else if (this.options.gfm) {\n if (this.options.breaks) {\n this.rules = inline.breaks;\n } else {\n this.rules = inline.gfm;\n }\n }\n}\n\n/**\n * Expose Inline Rules\n */\n\nInlineLexer.rules = inline;\n\n/**\n * Static Lexing/Compiling Method\n */\n\nInlineLexer.output = function(src, links, options) {\n var inline = new InlineLexer(links, options);\n return inline.output(src);\n};\n\n/**\n * Lexing/Compiling\n */\n\nInlineLexer.prototype.output = function(src) {\n var out = '',\n link,\n text,\n href,\n title,\n cap,\n prevCapZero;\n\n while (src) {\n // escape\n if (cap = this.rules.escape.exec(src)) {\n src = src.substring(cap[0].length);\n out += escape(cap[1]);\n continue;\n }\n\n // tag\n if (cap = this.rules.tag.exec(src)) {\n if (!this.inLink && /^/i.test(cap[0])) {\n this.inLink = false;\n }\n if (!this.inRawBlock && /^<(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.inRawBlock = true;\n } else if (this.inRawBlock && /^<\\/(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.inRawBlock = false;\n }\n\n src = src.substring(cap[0].length);\n out += this.options.sanitize\n ? this.options.sanitizer\n ? this.options.sanitizer(cap[0])\n : escape(cap[0])\n : cap[0];\n continue;\n }\n\n // link\n if (cap = this.rules.link.exec(src)) {\n src = src.substring(cap[0].length);\n this.inLink = true;\n href = cap[2];\n if (this.options.pedantic) {\n link = /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(href);\n\n if (link) {\n href = link[1];\n title = link[3];\n } else {\n title = '';\n }\n } else {\n title = cap[3] ? cap[3].slice(1, -1) : '';\n }\n href = href.trim().replace(/^<([\\s\\S]*)>$/, '$1');\n out += this.outputLink(cap, {\n href: InlineLexer.escapes(href),\n title: InlineLexer.escapes(title)\n });\n this.inLink = false;\n continue;\n }\n\n // reflink, nolink\n if ((cap = this.rules.reflink.exec(src))\n || (cap = this.rules.nolink.exec(src))) {\n src = src.substring(cap[0].length);\n link = (cap[2] || cap[1]).replace(/\\s+/g, ' ');\n link = this.links[link.toLowerCase()];\n if (!link || !link.href) {\n out += cap[0].charAt(0);\n src = cap[0].substring(1) + src;\n continue;\n }\n this.inLink = true;\n out += this.outputLink(cap, link);\n this.inLink = false;\n continue;\n }\n\n // strong\n if (cap = this.rules.strong.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.strong(this.output(cap[4] || cap[3] || cap[2] || cap[1]));\n continue;\n }\n\n // em\n if (cap = this.rules.em.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.em(this.output(cap[6] || cap[5] || cap[4] || cap[3] || cap[2] || cap[1]));\n continue;\n }\n\n // code\n if (cap = this.rules.code.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.codespan(escape(cap[2].trim(), true));\n continue;\n }\n\n // br\n if (cap = this.rules.br.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.br();\n continue;\n }\n\n // del (gfm)\n if (cap = this.rules.del.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.del(this.output(cap[1]));\n continue;\n }\n\n // autolink\n if (cap = this.rules.autolink.exec(src)) {\n src = src.substring(cap[0].length);\n if (cap[2] === '@') {\n text = escape(this.mangle(cap[1]));\n href = 'mailto:' + text;\n } else {\n text = escape(cap[1]);\n href = text;\n }\n out += this.renderer.link(href, null, text);\n continue;\n }\n\n // url (gfm)\n if (!this.inLink && (cap = this.rules.url.exec(src))) {\n if (cap[2] === '@') {\n text = escape(cap[0]);\n href = 'mailto:' + text;\n } else {\n // do extended autolink path validation\n do {\n prevCapZero = cap[0];\n cap[0] = this.rules._backpedal.exec(cap[0])[0];\n } while (prevCapZero !== cap[0]);\n text = escape(cap[0]);\n if (cap[1] === 'www.') {\n href = 'http://' + text;\n } else {\n href = text;\n }\n }\n src = src.substring(cap[0].length);\n out += this.renderer.link(href, null, text);\n continue;\n }\n\n // text\n if (cap = this.rules.text.exec(src)) {\n src = src.substring(cap[0].length);\n if (this.inRawBlock) {\n out += this.renderer.text(cap[0]);\n } else {\n out += this.renderer.text(escape(this.smartypants(cap[0])));\n }\n continue;\n }\n\n if (src) {\n throw new Error('Infinite loop on byte: ' + src.charCodeAt(0));\n }\n }\n\n return out;\n};\n\nInlineLexer.escapes = function(text) {\n return text ? text.replace(InlineLexer.rules._escapes, '$1') : text;\n};\n\n/**\n * Compile Link\n */\n\nInlineLexer.prototype.outputLink = function(cap, link) {\n var href = link.href,\n title = link.title ? escape(link.title) : null;\n\n return cap[0].charAt(0) !== '!'\n ? this.renderer.link(href, title, this.output(cap[1]))\n : this.renderer.image(href, title, escape(cap[1]));\n};\n\n/**\n * Smartypants Transformations\n */\n\nInlineLexer.prototype.smartypants = function(text) {\n if (!this.options.smartypants) return text;\n return text\n // em-dashes\n .replace(/---/g, '\\u2014')\n // en-dashes\n .replace(/--/g, '\\u2013')\n // opening singles\n .replace(/(^|[-\\u2014/(\\[{\"\\s])'/g, '$1\\u2018')\n // closing singles & apostrophes\n .replace(/'/g, '\\u2019')\n // opening doubles\n .replace(/(^|[-\\u2014/(\\[{\\u2018\\s])\"/g, '$1\\u201c')\n // closing doubles\n .replace(/\"/g, '\\u201d')\n // ellipses\n .replace(/\\.{3}/g, '\\u2026');\n};\n\n/**\n * Mangle Links\n */\n\nInlineLexer.prototype.mangle = function(text) {\n if (!this.options.mangle) return text;\n var out = '',\n l = text.length,\n i = 0,\n ch;\n\n for (; i < l; i++) {\n ch = text.charCodeAt(i);\n if (Math.random() > 0.5) {\n ch = 'x' + ch.toString(16);\n }\n out += '&#' + ch + ';';\n }\n\n return out;\n};\n\n/**\n * Renderer\n */\n\nfunction Renderer(options) {\n this.options = options || marked.defaults;\n}\n\nRenderer.prototype.code = function(code, infostring, escaped) {\n var lang = (infostring || '').match(/\\S*/)[0];\n if (this.options.highlight) {\n var out = this.options.highlight(code, lang);\n if (out != null && out !== code) {\n escaped = true;\n code = out;\n }\n }\n\n if (!lang) {\n return '

'\n      + (escaped ? code : escape(code, true))\n      + '
';\n }\n\n return '
'\n    + (escaped ? code : escape(code, true))\n    + '
\\n';\n};\n\nRenderer.prototype.blockquote = function(quote) {\n return '
\\n' + quote + '
\\n';\n};\n\nRenderer.prototype.html = function(html) {\n return html;\n};\n\nRenderer.prototype.heading = function(text, level, raw, slugger) {\n if (this.options.headerIds) {\n return ''\n + text\n + '\\n';\n }\n // ignore IDs\n return '' + text + '\\n';\n};\n\nRenderer.prototype.hr = function() {\n return this.options.xhtml ? '
\\n' : '
\\n';\n};\n\nRenderer.prototype.list = function(body, ordered, start) {\n var type = ordered ? 'ol' : 'ul',\n startatt = (ordered && start !== 1) ? (' start=\"' + start + '\"') : '';\n return '<' + type + startatt + '>\\n' + body + '\\n';\n};\n\nRenderer.prototype.listitem = function(text) {\n return '
  • ' + text + '
  • \\n';\n};\n\nRenderer.prototype.checkbox = function(checked) {\n return ' ';\n};\n\nRenderer.prototype.paragraph = function(text) {\n return '

    ' + text + '

    \\n';\n};\n\nRenderer.prototype.table = function(header, body) {\n if (body) body = '' + body + '';\n\n return '\\n'\n + '\\n'\n + header\n + '\\n'\n + body\n + '
    \\n';\n};\n\nRenderer.prototype.tablerow = function(content) {\n return '\\n' + content + '\\n';\n};\n\nRenderer.prototype.tablecell = function(content, flags) {\n var type = flags.header ? 'th' : 'td';\n var tag = flags.align\n ? '<' + type + ' align=\"' + flags.align + '\">'\n : '<' + type + '>';\n return tag + content + '\\n';\n};\n\n// span level renderer\nRenderer.prototype.strong = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.em = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.codespan = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.br = function() {\n return this.options.xhtml ? '
    ' : '
    ';\n};\n\nRenderer.prototype.del = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.link = function(href, title, text) {\n href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n if (href === null) {\n return text;\n }\n var out = '
    ';\n return out;\n};\n\nRenderer.prototype.image = function(href, title, text) {\n href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n if (href === null) {\n return text;\n }\n\n var out = '\"'' : '>';\n return out;\n};\n\nRenderer.prototype.text = function(text) {\n return text;\n};\n\n/**\n * TextRenderer\n * returns only the textual part of the token\n */\n\nfunction TextRenderer() {}\n\n// no need for block level renderers\n\nTextRenderer.prototype.strong =\nTextRenderer.prototype.em =\nTextRenderer.prototype.codespan =\nTextRenderer.prototype.del =\nTextRenderer.prototype.text = function (text) {\n return text;\n};\n\nTextRenderer.prototype.link =\nTextRenderer.prototype.image = function(href, title, text) {\n return '' + text;\n};\n\nTextRenderer.prototype.br = function() {\n return '';\n};\n\n/**\n * Parsing & Compiling\n */\n\nfunction Parser(options) {\n this.tokens = [];\n this.token = null;\n this.options = options || marked.defaults;\n this.options.renderer = this.options.renderer || new Renderer();\n this.renderer = this.options.renderer;\n this.renderer.options = this.options;\n this.slugger = new Slugger();\n}\n\n/**\n * Static Parse Method\n */\n\nParser.parse = function(src, options) {\n var parser = new Parser(options);\n return parser.parse(src);\n};\n\n/**\n * Parse Loop\n */\n\nParser.prototype.parse = function(src) {\n this.inline = new InlineLexer(src.links, this.options);\n // use an InlineLexer with a TextRenderer to extract pure text\n this.inlineText = new InlineLexer(\n src.links,\n merge({}, this.options, {renderer: new TextRenderer()})\n );\n this.tokens = src.reverse();\n\n var out = '';\n while (this.next()) {\n out += this.tok();\n }\n\n return out;\n};\n\n/**\n * Next Token\n */\n\nParser.prototype.next = function() {\n return this.token = this.tokens.pop();\n};\n\n/**\n * Preview Next Token\n */\n\nParser.prototype.peek = function() {\n return this.tokens[this.tokens.length - 1] || 0;\n};\n\n/**\n * Parse Text Tokens\n */\n\nParser.prototype.parseText = function() {\n var body = this.token.text;\n\n while (this.peek().type === 'text') {\n body += '\\n' + this.next().text;\n }\n\n return this.inline.output(body);\n};\n\n/**\n * Parse Current Token\n */\n\nParser.prototype.tok = function() {\n switch (this.token.type) {\n case 'space': {\n return '';\n }\n case 'hr': {\n return this.renderer.hr();\n }\n case 'heading': {\n return this.renderer.heading(\n this.inline.output(this.token.text),\n this.token.depth,\n unescape(this.inlineText.output(this.token.text)),\n this.slugger);\n }\n case 'code': {\n return this.renderer.code(this.token.text,\n this.token.lang,\n this.token.escaped);\n }\n case 'table': {\n var header = '',\n body = '',\n i,\n row,\n cell,\n j;\n\n // header\n cell = '';\n for (i = 0; i < this.token.header.length; i++) {\n cell += this.renderer.tablecell(\n this.inline.output(this.token.header[i]),\n { header: true, align: this.token.align[i] }\n );\n }\n header += this.renderer.tablerow(cell);\n\n for (i = 0; i < this.token.cells.length; i++) {\n row = this.token.cells[i];\n\n cell = '';\n for (j = 0; j < row.length; j++) {\n cell += this.renderer.tablecell(\n this.inline.output(row[j]),\n { header: false, align: this.token.align[j] }\n );\n }\n\n body += this.renderer.tablerow(cell);\n }\n return this.renderer.table(header, body);\n }\n case 'blockquote_start': {\n body = '';\n\n while (this.next().type !== 'blockquote_end') {\n body += this.tok();\n }\n\n return this.renderer.blockquote(body);\n }\n case 'list_start': {\n body = '';\n var ordered = this.token.ordered,\n start = this.token.start;\n\n while (this.next().type !== 'list_end') {\n body += this.tok();\n }\n\n return this.renderer.list(body, ordered, start);\n }\n case 'list_item_start': {\n body = '';\n var loose = this.token.loose;\n\n if (this.token.task) {\n body += this.renderer.checkbox(this.token.checked);\n }\n\n while (this.next().type !== 'list_item_end') {\n body += !loose && this.token.type === 'text'\n ? this.parseText()\n : this.tok();\n }\n\n return this.renderer.listitem(body);\n }\n case 'html': {\n // TODO parse inline content if parameter markdown=1\n return this.renderer.html(this.token.text);\n }\n case 'paragraph': {\n return this.renderer.paragraph(this.inline.output(this.token.text));\n }\n case 'text': {\n return this.renderer.paragraph(this.parseText());\n }\n default: {\n var errMsg = 'Token with \"' + this.token.type + '\" type was not found.';\n if (this.options.silent) {\n console.log(errMsg);\n } else {\n throw new Error(errMsg);\n }\n }\n }\n};\n\n/**\n * Slugger generates header id\n */\n\nfunction Slugger () {\n this.seen = {};\n}\n\n/**\n * Convert string to unique id\n */\n\nSlugger.prototype.slug = function (value) {\n var slug = value\n .toLowerCase()\n .trim()\n .replace(/[\\u2000-\\u206F\\u2E00-\\u2E7F\\\\'!\"#$%&()*+,./:;<=>?@[\\]^`{|}~]/g, '')\n .replace(/\\s/g, '-');\n\n if (this.seen.hasOwnProperty(slug)) {\n var originalSlug = slug;\n do {\n this.seen[originalSlug]++;\n slug = originalSlug + '-' + this.seen[originalSlug];\n } while (this.seen.hasOwnProperty(slug));\n }\n this.seen[slug] = 0;\n\n return slug;\n};\n\n/**\n * Helpers\n */\n\nfunction escape(html, encode) {\n if (encode) {\n if (escape.escapeTest.test(html)) {\n return html.replace(escape.escapeReplace, function (ch) { return escape.replacements[ch]; });\n }\n } else {\n if (escape.escapeTestNoEncode.test(html)) {\n return html.replace(escape.escapeReplaceNoEncode, function (ch) { return escape.replacements[ch]; });\n }\n }\n\n return html;\n}\n\nescape.escapeTest = /[&<>\"']/;\nescape.escapeReplace = /[&<>\"']/g;\nescape.replacements = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n};\n\nescape.escapeTestNoEncode = /[<>\"']|&(?!#?\\w+;)/;\nescape.escapeReplaceNoEncode = /[<>\"']|&(?!#?\\w+;)/g;\n\nfunction unescape(html) {\n // explicitly match decimal, hex, and named HTML entities\n return html.replace(/&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig, function(_, n) {\n n = n.toLowerCase();\n if (n === 'colon') return ':';\n if (n.charAt(0) === '#') {\n return n.charAt(1) === 'x'\n ? String.fromCharCode(parseInt(n.substring(2), 16))\n : String.fromCharCode(+n.substring(1));\n }\n return '';\n });\n}\n\nfunction edit(regex, opt) {\n regex = regex.source || regex;\n opt = opt || '';\n return {\n replace: function(name, val) {\n val = val.source || val;\n val = val.replace(/(^|[^\\[])\\^/g, '$1');\n regex = regex.replace(name, val);\n return this;\n },\n getRegex: function() {\n return new RegExp(regex, opt);\n }\n };\n}\n\nfunction cleanUrl(sanitize, base, href) {\n if (sanitize) {\n try {\n var prot = decodeURIComponent(unescape(href))\n .replace(/[^\\w:]/g, '')\n .toLowerCase();\n } catch (e) {\n return null;\n }\n if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) {\n return null;\n }\n }\n if (base && !originIndependentUrl.test(href)) {\n href = resolveUrl(base, href);\n }\n try {\n href = encodeURI(href).replace(/%25/g, '%');\n } catch (e) {\n return null;\n }\n return href;\n}\n\nfunction resolveUrl(base, href) {\n if (!baseUrls[' ' + base]) {\n // we can ignore everything in base after the last slash of its path component,\n // but we might need to add _that_\n // https://tools.ietf.org/html/rfc3986#section-3\n if (/^[^:]+:\\/*[^/]*$/.test(base)) {\n baseUrls[' ' + base] = base + '/';\n } else {\n baseUrls[' ' + base] = rtrim(base, '/', true);\n }\n }\n base = baseUrls[' ' + base];\n\n if (href.slice(0, 2) === '//') {\n return base.replace(/:[\\s\\S]*/, ':') + href;\n } else if (href.charAt(0) === '/') {\n return base.replace(/(:\\/*[^/]*)[\\s\\S]*/, '$1') + href;\n } else {\n return base + href;\n }\n}\nvar baseUrls = {};\nvar originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;\n\nfunction noop() {}\nnoop.exec = noop;\n\nfunction merge(obj) {\n var i = 1,\n target,\n key;\n\n for (; i < arguments.length; i++) {\n target = arguments[i];\n for (key in target) {\n if (Object.prototype.hasOwnProperty.call(target, key)) {\n obj[key] = target[key];\n }\n }\n }\n\n return obj;\n}\n\nfunction splitCells(tableRow, count) {\n // ensure that every cell-delimiting pipe has a space\n // before it to distinguish it from an escaped pipe\n var row = tableRow.replace(/\\|/g, function (match, offset, str) {\n var escaped = false,\n curr = offset;\n while (--curr >= 0 && str[curr] === '\\\\') escaped = !escaped;\n if (escaped) {\n // odd number of slashes means | is escaped\n // so we leave it alone\n return '|';\n } else {\n // add space before unescaped |\n return ' |';\n }\n }),\n cells = row.split(/ \\|/),\n i = 0;\n\n if (cells.length > count) {\n cells.splice(count);\n } else {\n while (cells.length < count) cells.push('');\n }\n\n for (; i < cells.length; i++) {\n // leading or trailing whitespace is ignored per the gfm spec\n cells[i] = cells[i].trim().replace(/\\\\\\|/g, '|');\n }\n return cells;\n}\n\n// Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').\n// /c*$/ is vulnerable to REDOS.\n// invert: Remove suffix of non-c chars instead. Default falsey.\nfunction rtrim(str, c, invert) {\n if (str.length === 0) {\n return '';\n }\n\n // Length of suffix matching the invert condition.\n var suffLen = 0;\n\n // Step left until we fail to match the invert condition.\n while (suffLen < str.length) {\n var currChar = str.charAt(str.length - suffLen - 1);\n if (currChar === c && !invert) {\n suffLen++;\n } else if (currChar !== c && invert) {\n suffLen++;\n } else {\n break;\n }\n }\n\n return str.substr(0, str.length - suffLen);\n}\n\n/**\n * Marked\n */\n\nfunction marked(src, opt, callback) {\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n throw new Error('marked(): input parameter is undefined or null');\n }\n if (typeof src !== 'string') {\n throw new Error('marked(): input parameter is of type '\n + Object.prototype.toString.call(src) + ', string expected');\n }\n\n if (callback || typeof opt === 'function') {\n if (!callback) {\n callback = opt;\n opt = null;\n }\n\n opt = merge({}, marked.defaults, opt || {});\n\n var highlight = opt.highlight,\n tokens,\n pending,\n i = 0;\n\n try {\n tokens = Lexer.lex(src, opt);\n } catch (e) {\n return callback(e);\n }\n\n pending = tokens.length;\n\n var done = function(err) {\n if (err) {\n opt.highlight = highlight;\n return callback(err);\n }\n\n var out;\n\n try {\n out = Parser.parse(tokens, opt);\n } catch (e) {\n err = e;\n }\n\n opt.highlight = highlight;\n\n return err\n ? callback(err)\n : callback(null, out);\n };\n\n if (!highlight || highlight.length < 3) {\n return done();\n }\n\n delete opt.highlight;\n\n if (!pending) return done();\n\n for (; i < tokens.length; i++) {\n (function(token) {\n if (token.type !== 'code') {\n return --pending || done();\n }\n return highlight(token.text, token.lang, function(err, code) {\n if (err) return done(err);\n if (code == null || code === token.text) {\n return --pending || done();\n }\n token.text = code;\n token.escaped = true;\n --pending || done();\n });\n })(tokens[i]);\n }\n\n return;\n }\n try {\n if (opt) opt = merge({}, marked.defaults, opt);\n return Parser.parse(Lexer.lex(src, opt), opt);\n } catch (e) {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n if ((opt || marked.defaults).silent) {\n return '

    An error occurred:

    '\n        + escape(e.message + '', true)\n        + '
    ';\n }\n throw e;\n }\n}\n\n/**\n * Options\n */\n\nmarked.options =\nmarked.setOptions = function(opt) {\n merge(marked.defaults, opt);\n return marked;\n};\n\nmarked.getDefaults = function () {\n return {\n baseUrl: null,\n breaks: false,\n gfm: true,\n headerIds: true,\n headerPrefix: '',\n highlight: null,\n langPrefix: 'language-',\n mangle: true,\n pedantic: false,\n renderer: new Renderer(),\n sanitize: false,\n sanitizer: null,\n silent: false,\n smartLists: false,\n smartypants: false,\n tables: true,\n xhtml: false\n };\n};\n\nmarked.defaults = marked.getDefaults();\n\n/**\n * Expose\n */\n\nmarked.Parser = Parser;\nmarked.parser = Parser.parse;\n\nmarked.Renderer = Renderer;\nmarked.TextRenderer = TextRenderer;\n\nmarked.Lexer = Lexer;\nmarked.lexer = Lexer.lex;\n\nmarked.InlineLexer = InlineLexer;\nmarked.inlineLexer = InlineLexer.output;\n\nmarked.Slugger = Slugger;\n\nmarked.parse = marked;\n\nif (typeof module !== 'undefined' && typeof exports === 'object') {\n module.exports = marked;\n} else if (typeof define === 'function' && define.amd) {\n define(function() { return marked; });\n} else {\n root.marked = marked;\n}\n})(this || (typeof window !== 'undefined' ? window : global));\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","// Generated by purs bundle 0.12.2\nvar PS = {};\n(function(exports) {\n /* global exports */\n /* global XMLHttpRequest */\n /* global module */\n /* global process */\n \"use strict\";\n\n exports._ajax = function () {\n var platformSpecific = { };\n if (typeof module !== \"undefined\" && module.require && !(typeof process !== \"undefined\" && process.versions[\"electron\"])) {\n // We are on node.js\n platformSpecific.newXHR = function () {\n var XHR = module.require(\"xhr2\");\n return new XHR();\n };\n\n platformSpecific.fixupUrl = function (url) {\n var urllib = module.require(\"url\");\n var u = urllib.parse(url);\n u.protocol = u.protocol || \"http:\";\n u.hostname = u.hostname || \"localhost\";\n return urllib.format(u);\n };\n\n platformSpecific.getResponse = function (xhr) {\n return xhr.response;\n };\n } else {\n // We are in the browser\n platformSpecific.newXHR = function () {\n return new XMLHttpRequest();\n };\n\n platformSpecific.fixupUrl = function (url) {\n return url || \"/\";\n };\n\n platformSpecific.getResponse = function (xhr) {\n return xhr.response;\n };\n }\n\n return function (mkHeader, options) {\n return function (errback, callback) {\n var xhr = platformSpecific.newXHR();\n var fixedUrl = platformSpecific.fixupUrl(options.url);\n xhr.open(options.method || \"GET\", fixedUrl, true, options.username, options.password);\n if (options.headers) {\n try {\n for (var i = 0, header; (header = options.headers[i]) != null; i++) {\n xhr.setRequestHeader(header.field, header.value);\n }\n } catch (e) {\n errback(e);\n }\n }\n var onerror = function (msg) {\n return function () {\n errback(new Error(msg + \": \" + options.method + \" \" + options.url));\n };\n };\n xhr.onerror = onerror(\"AJAX request failed\");\n xhr.ontimeout = onerror(\"AJAX request timed out\");\n xhr.onload = function () {\n callback({\n status: xhr.status,\n statusText: xhr.statusText,\n headers: xhr.getAllResponseHeaders().split(\"\\r\\n\")\n .filter(function (header) {\n return header.length > 0;\n })\n .map(function (header) {\n var i = header.indexOf(\":\");\n return mkHeader(header.substring(0, i))(header.substring(i + 2));\n }),\n body: platformSpecific.getResponse(xhr)\n });\n };\n xhr.responseType = options.responseType;\n xhr.withCredentials = options.withCredentials;\n xhr.send(options.content);\n\n return function (error, cancelErrback, cancelCallback) {\n try {\n xhr.abort();\n } catch (e) {\n return cancelErrback(e);\n }\n return cancelCallback();\n };\n };\n };\n }();\n})(PS[\"Affjax\"] = PS[\"Affjax\"] || {});\n(function(exports) {\n \"use strict\";\n\n function id(x) {\n return x;\n } \n exports.fromObject = id;\n\n exports.stringify = function (j) {\n return JSON.stringify(j);\n }; \n\n function isArray(a) {\n return objToString.call(a) === \"[object Array]\";\n }\n})(PS[\"Data.Argonaut.Core\"] = PS[\"Data.Argonaut.Core\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.refEq = function (r1) {\n return function (r2) {\n return r1 === r2;\n };\n };\n})(PS[\"Data.Eq\"] = PS[\"Data.Eq\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.boolConj = function (b1) {\n return function (b2) {\n return b1 && b2;\n };\n };\n\n exports.boolDisj = function (b1) {\n return function (b2) {\n return b1 || b2;\n };\n };\n\n exports.boolNot = function (b) {\n return !b;\n };\n})(PS[\"Data.HeytingAlgebra\"] = PS[\"Data.HeytingAlgebra\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Symbol\"]; \n var SProxy = (function () {\n function SProxy() {\n\n };\n SProxy.value = new SProxy();\n return SProxy;\n })();\n var IsSymbol = function (reflectSymbol) {\n this.reflectSymbol = reflectSymbol;\n };\n var reflectSymbol = function (dict) {\n return dict.reflectSymbol;\n };\n exports[\"IsSymbol\"] = IsSymbol;\n exports[\"reflectSymbol\"] = reflectSymbol;\n exports[\"SProxy\"] = SProxy;\n})(PS[\"Data.Symbol\"] = PS[\"Data.Symbol\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unit = {};\n})(PS[\"Data.Unit\"] = PS[\"Data.Unit\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.showIntImpl = function (n) {\n return n.toString();\n };\n})(PS[\"Data.Show\"] = PS[\"Data.Show\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unsafeGet = function (label) {\n return function (rec) {\n return rec[label];\n };\n };\n})(PS[\"Record.Unsafe\"] = PS[\"Record.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Record.Unsafe\"];\n exports[\"unsafeGet\"] = $foreign.unsafeGet;\n})(PS[\"Record.Unsafe\"] = PS[\"Record.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var RLProxy = (function () {\n function RLProxy() {\n\n };\n RLProxy.value = new RLProxy();\n return RLProxy;\n })();\n exports[\"RLProxy\"] = RLProxy;\n})(PS[\"Type.Data.RowList\"] = PS[\"Type.Data.RowList\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Show\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var Show = function (show) {\n this.show = show;\n }; \n var showInt = new Show($foreign.showIntImpl);\n var show = function (dict) {\n return dict.show;\n };\n exports[\"Show\"] = Show;\n exports[\"show\"] = show;\n exports[\"showInt\"] = showInt;\n})(PS[\"Data.Show\"] = PS[\"Data.Show\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Unit\"];\n var Data_Show = PS[\"Data.Show\"];\n exports[\"unit\"] = $foreign.unit;\n})(PS[\"Data.Unit\"] = PS[\"Data.Unit\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.HeytingAlgebra\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_Row = PS[\"Type.Data.Row\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var HeytingAlgebra = function (conj, disj, ff, implies, not, tt) {\n this.conj = conj;\n this.disj = disj;\n this.ff = ff;\n this.implies = implies;\n this.not = not;\n this.tt = tt;\n };\n var tt = function (dict) {\n return dict.tt;\n };\n var not = function (dict) {\n return dict.not;\n };\n var implies = function (dict) {\n return dict.implies;\n };\n var ff = function (dict) {\n return dict.ff;\n };\n var disj = function (dict) {\n return dict.disj;\n };\n var heytingAlgebraBoolean = new HeytingAlgebra($foreign.boolConj, $foreign.boolDisj, false, function (a) {\n return function (b) {\n return disj(heytingAlgebraBoolean)(not(heytingAlgebraBoolean)(a))(b);\n };\n }, $foreign.boolNot, true);\n var conj = function (dict) {\n return dict.conj;\n };\n var heytingAlgebraFunction = function (dictHeytingAlgebra) {\n return new HeytingAlgebra(function (f) {\n return function (g) {\n return function (a) {\n return conj(dictHeytingAlgebra)(f(a))(g(a));\n };\n };\n }, function (f) {\n return function (g) {\n return function (a) {\n return disj(dictHeytingAlgebra)(f(a))(g(a));\n };\n };\n }, function (v) {\n return ff(dictHeytingAlgebra);\n }, function (f) {\n return function (g) {\n return function (a) {\n return implies(dictHeytingAlgebra)(f(a))(g(a));\n };\n };\n }, function (f) {\n return function (a) {\n return not(dictHeytingAlgebra)(f(a));\n };\n }, function (v) {\n return tt(dictHeytingAlgebra);\n });\n };\n exports[\"HeytingAlgebra\"] = HeytingAlgebra;\n exports[\"tt\"] = tt;\n exports[\"ff\"] = ff;\n exports[\"implies\"] = implies;\n exports[\"conj\"] = conj;\n exports[\"disj\"] = disj;\n exports[\"not\"] = not;\n exports[\"heytingAlgebraBoolean\"] = heytingAlgebraBoolean;\n exports[\"heytingAlgebraFunction\"] = heytingAlgebraFunction;\n})(PS[\"Data.HeytingAlgebra\"] = PS[\"Data.HeytingAlgebra\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Show = PS[\"Data.Show\"];\n var absurd = function (a) {\n var spin = function ($copy_v) {\n var $tco_result;\n function $tco_loop(v) {\n $copy_v = v;\n return;\n };\n while (!false) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n return spin(a);\n };\n exports[\"absurd\"] = absurd;\n})(PS[\"Data.Void\"] = PS[\"Data.Void\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Eq\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Data_Void = PS[\"Data.Void\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var Eq = function (eq) {\n this.eq = eq;\n }; \n var eqUnit = new Eq(function (v) {\n return function (v1) {\n return true;\n };\n });\n var eqString = new Eq($foreign.refEq);\n var eqInt = new Eq($foreign.refEq);\n var eqChar = new Eq($foreign.refEq);\n var eqBoolean = new Eq($foreign.refEq);\n var eq = function (dict) {\n return dict.eq;\n };\n exports[\"Eq\"] = Eq;\n exports[\"eq\"] = eq;\n exports[\"eqBoolean\"] = eqBoolean;\n exports[\"eqInt\"] = eqInt;\n exports[\"eqChar\"] = eqChar;\n exports[\"eqString\"] = eqString;\n exports[\"eqUnit\"] = eqUnit;\n})(PS[\"Data.Eq\"] = PS[\"Data.Eq\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Semigroupoid = function (compose) {\n this.compose = compose;\n };\n var semigroupoidFn = new Semigroupoid(function (f) {\n return function (g) {\n return function (x) {\n return f(g(x));\n };\n };\n });\n var compose = function (dict) {\n return dict.compose;\n };\n exports[\"compose\"] = compose;\n exports[\"Semigroupoid\"] = Semigroupoid;\n exports[\"semigroupoidFn\"] = semigroupoidFn;\n})(PS[\"Control.Semigroupoid\"] = PS[\"Control.Semigroupoid\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"]; \n var Category = function (Semigroupoid0, identity) {\n this.Semigroupoid0 = Semigroupoid0;\n this.identity = identity;\n };\n var identity = function (dict) {\n return dict.identity;\n };\n var categoryFn = new Category(function () {\n return Control_Semigroupoid.semigroupoidFn;\n }, function (x) {\n return x;\n });\n exports[\"Category\"] = Category;\n exports[\"identity\"] = identity;\n exports[\"categoryFn\"] = categoryFn;\n})(PS[\"Control.Category\"] = PS[\"Control.Category\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var otherwise = true;\n exports[\"otherwise\"] = otherwise;\n})(PS[\"Data.Boolean\"] = PS[\"Data.Boolean\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unsafeCompareImpl = function (lt) {\n return function (eq) {\n return function (gt) {\n return function (x) {\n return function (y) {\n return x < y ? lt : x === y ? eq : gt;\n };\n };\n };\n };\n };\n})(PS[\"Data.Ord.Unsafe\"] = PS[\"Data.Ord.Unsafe\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.concatString = function (s1) {\n return function (s2) {\n return s1 + s2;\n };\n };\n\n exports.concatArray = function (xs) {\n return function (ys) {\n if (xs.length === 0) return ys;\n if (ys.length === 0) return xs;\n return xs.concat(ys);\n };\n };\n})(PS[\"Data.Semigroup\"] = PS[\"Data.Semigroup\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Semigroup\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Data_Void = PS[\"Data.Void\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var Semigroup = function (append) {\n this.append = append;\n }; \n var semigroupString = new Semigroup($foreign.concatString);\n var semigroupArray = new Semigroup($foreign.concatArray);\n var append = function (dict) {\n return dict.append;\n };\n var semigroupFn = function (dictSemigroup) {\n return new Semigroup(function (f) {\n return function (g) {\n return function (x) {\n return append(dictSemigroup)(f(x))(g(x));\n };\n };\n });\n };\n exports[\"Semigroup\"] = Semigroup;\n exports[\"append\"] = append;\n exports[\"semigroupString\"] = semigroupString;\n exports[\"semigroupFn\"] = semigroupFn;\n exports[\"semigroupArray\"] = semigroupArray;\n})(PS[\"Data.Semigroup\"] = PS[\"Data.Semigroup\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"]; \n var LT = (function () {\n function LT() {\n\n };\n LT.value = new LT();\n return LT;\n })();\n var GT = (function () {\n function GT() {\n\n };\n GT.value = new GT();\n return GT;\n })();\n var EQ = (function () {\n function EQ() {\n\n };\n EQ.value = new EQ();\n return EQ;\n })();\n exports[\"LT\"] = LT;\n exports[\"GT\"] = GT;\n exports[\"EQ\"] = EQ;\n})(PS[\"Data.Ordering\"] = PS[\"Data.Ordering\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Ord.Unsafe\"];\n var Data_Ordering = PS[\"Data.Ordering\"]; \n var unsafeCompare = $foreign.unsafeCompareImpl(Data_Ordering.LT.value)(Data_Ordering.EQ.value)(Data_Ordering.GT.value);\n exports[\"unsafeCompare\"] = unsafeCompare;\n})(PS[\"Data.Ord.Unsafe\"] = PS[\"Data.Ord.Unsafe\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.intSub = function (x) {\n return function (y) {\n /* jshint bitwise: false */\n return x - y | 0;\n };\n };\n})(PS[\"Data.Ring\"] = PS[\"Data.Ring\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.intAdd = function (x) {\n return function (y) {\n /* jshint bitwise: false */\n return x + y | 0;\n };\n };\n\n exports.intMul = function (x) {\n return function (y) {\n /* jshint bitwise: false */\n return x * y | 0;\n };\n };\n})(PS[\"Data.Semiring\"] = PS[\"Data.Semiring\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Semiring\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_Row = PS[\"Type.Data.Row\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var Semiring = function (add, mul, one, zero) {\n this.add = add;\n this.mul = mul;\n this.one = one;\n this.zero = zero;\n };\n var zero = function (dict) {\n return dict.zero;\n }; \n var semiringInt = new Semiring($foreign.intAdd, $foreign.intMul, 1, 0);\n var one = function (dict) {\n return dict.one;\n };\n var mul = function (dict) {\n return dict.mul;\n };\n var add = function (dict) {\n return dict.add;\n };\n exports[\"Semiring\"] = Semiring;\n exports[\"add\"] = add;\n exports[\"zero\"] = zero;\n exports[\"mul\"] = mul;\n exports[\"one\"] = one;\n exports[\"semiringInt\"] = semiringInt;\n})(PS[\"Data.Semiring\"] = PS[\"Data.Semiring\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var Ring = function (Semiring0, sub) {\n this.Semiring0 = Semiring0;\n this.sub = sub;\n };\n var sub = function (dict) {\n return dict.sub;\n }; \n var ringInt = new Ring(function () {\n return Data_Semiring.semiringInt;\n }, $foreign.intSub);\n exports[\"Ring\"] = Ring;\n exports[\"sub\"] = sub;\n exports[\"ringInt\"] = ringInt;\n})(PS[\"Data.Ring\"] = PS[\"Data.Ring\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Ord\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Ord_Unsafe = PS[\"Data.Ord.Unsafe\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Data_Void = PS[\"Data.Void\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var Ord = function (Eq0, compare) {\n this.Eq0 = Eq0;\n this.compare = compare;\n }; \n var ordUnit = new Ord(function () {\n return Data_Eq.eqUnit;\n }, function (v) {\n return function (v1) {\n return Data_Ordering.EQ.value;\n };\n });\n var ordString = new Ord(function () {\n return Data_Eq.eqString;\n }, Data_Ord_Unsafe.unsafeCompare);\n var ordInt = new Ord(function () {\n return Data_Eq.eqInt;\n }, Data_Ord_Unsafe.unsafeCompare);\n var ordChar = new Ord(function () {\n return Data_Eq.eqChar;\n }, Data_Ord_Unsafe.unsafeCompare);\n var compare = function (dict) {\n return dict.compare;\n };\n exports[\"Ord\"] = Ord;\n exports[\"compare\"] = compare;\n exports[\"ordInt\"] = ordInt;\n exports[\"ordString\"] = ordString;\n exports[\"ordChar\"] = ordChar;\n exports[\"ordUnit\"] = ordUnit;\n})(PS[\"Data.Ord\"] = PS[\"Data.Ord\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"]; \n var on = function (f) {\n return function (g) {\n return function (x) {\n return function (y) {\n return f(g(x))(g(y));\n };\n };\n };\n };\n var flip = function (f) {\n return function (b) {\n return function (a) {\n return f(a)(b);\n };\n };\n };\n var $$const = function (a) {\n return function (v) {\n return a;\n };\n };\n exports[\"flip\"] = flip;\n exports[\"const\"] = $$const;\n exports[\"on\"] = on;\n})(PS[\"Data.Function\"] = PS[\"Data.Function\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.runFn4 = function (fn) {\n return function (a) {\n return function (b) {\n return function (c) {\n return function (d) {\n return fn(a, b, c, d);\n };\n };\n };\n };\n };\n})(PS[\"Data.Function.Uncurried\"] = PS[\"Data.Function.Uncurried\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Function.Uncurried\"];\n var Data_Unit = PS[\"Data.Unit\"];\n exports[\"runFn4\"] = $foreign.runFn4;\n})(PS[\"Data.Function.Uncurried\"] = PS[\"Data.Function.Uncurried\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.arrayMap = function (f) {\n return function (arr) {\n var l = arr.length;\n var result = new Array(l);\n for (var i = 0; i < l; i++) {\n result[i] = f(arr[i]);\n }\n return result;\n };\n };\n})(PS[\"Data.Functor\"] = PS[\"Data.Functor\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Functor\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Unit = PS[\"Data.Unit\"]; \n var Functor = function (map) {\n this.map = map;\n };\n var map = function (dict) {\n return dict.map;\n };\n var $$void = function (dictFunctor) {\n return map(dictFunctor)(Data_Function[\"const\"](Data_Unit.unit));\n };\n var voidLeft = function (dictFunctor) {\n return function (f) {\n return function (x) {\n return map(dictFunctor)(Data_Function[\"const\"](x))(f);\n };\n };\n };\n var functorFn = new Functor(Control_Semigroupoid.compose(Control_Semigroupoid.semigroupoidFn));\n var functorArray = new Functor($foreign.arrayMap);\n exports[\"Functor\"] = Functor;\n exports[\"map\"] = map;\n exports[\"void\"] = $$void;\n exports[\"voidLeft\"] = voidLeft;\n exports[\"functorFn\"] = functorFn;\n exports[\"functorArray\"] = functorArray;\n})(PS[\"Data.Functor\"] = PS[\"Data.Functor\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"]; \n var Alt = function (Functor0, alt) {\n this.Functor0 = Functor0;\n this.alt = alt;\n }; \n var alt = function (dict) {\n return dict.alt;\n };\n exports[\"Alt\"] = Alt;\n exports[\"alt\"] = alt;\n})(PS[\"Control.Alt\"] = PS[\"Control.Alt\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.arrayApply = function (fs) {\n return function (xs) {\n var l = fs.length;\n var k = xs.length;\n var result = new Array(l*k);\n var n = 0;\n for (var i = 0; i < l; i++) {\n var f = fs[i];\n for (var j = 0; j < k; j++) {\n result[n++] = f(xs[j]);\n }\n }\n return result;\n };\n };\n})(PS[\"Control.Apply\"] = PS[\"Control.Apply\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Control.Apply\"];\n var Control_Category = PS[\"Control.Category\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"]; \n var Apply = function (Functor0, apply) {\n this.Functor0 = Functor0;\n this.apply = apply;\n }; \n var applyArray = new Apply(function () {\n return Data_Functor.functorArray;\n }, $foreign.arrayApply);\n var apply = function (dict) {\n return dict.apply;\n };\n var applySecond = function (dictApply) {\n return function (a) {\n return function (b) {\n return apply(dictApply)(Data_Functor.map(dictApply.Functor0())(Data_Function[\"const\"](Control_Category.identity(Control_Category.categoryFn)))(a))(b);\n };\n };\n };\n var lift2 = function (dictApply) {\n return function (f) {\n return function (a) {\n return function (b) {\n return apply(dictApply)(Data_Functor.map(dictApply.Functor0())(f)(a))(b);\n };\n };\n };\n };\n exports[\"Apply\"] = Apply;\n exports[\"apply\"] = apply;\n exports[\"applySecond\"] = applySecond;\n exports[\"lift2\"] = lift2;\n exports[\"applyArray\"] = applyArray;\n})(PS[\"Control.Apply\"] = PS[\"Control.Apply\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Apply = PS[\"Control.Apply\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Unit = PS[\"Data.Unit\"]; \n var Applicative = function (Apply0, pure) {\n this.Apply0 = Apply0;\n this.pure = pure;\n };\n var pure = function (dict) {\n return dict.pure;\n };\n var unless = function (dictApplicative) {\n return function (v) {\n return function (v1) {\n if (!v) {\n return v1;\n };\n if (v) {\n return pure(dictApplicative)(Data_Unit.unit);\n };\n throw new Error(\"Failed pattern match at Control.Applicative (line 62, column 1 - line 62, column 65): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n };\n var when = function (dictApplicative) {\n return function (v) {\n return function (v1) {\n if (v) {\n return v1;\n };\n if (!v) {\n return pure(dictApplicative)(Data_Unit.unit);\n };\n throw new Error(\"Failed pattern match at Control.Applicative (line 57, column 1 - line 57, column 63): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n };\n var liftA1 = function (dictApplicative) {\n return function (f) {\n return function (a) {\n return Control_Apply.apply(dictApplicative.Apply0())(pure(dictApplicative)(f))(a);\n };\n };\n };\n exports[\"Applicative\"] = Applicative;\n exports[\"pure\"] = pure;\n exports[\"liftA1\"] = liftA1;\n exports[\"unless\"] = unless;\n exports[\"when\"] = when;\n})(PS[\"Control.Applicative\"] = PS[\"Control.Applicative\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.arrayBind = function (arr) {\n return function (f) {\n var result = [];\n for (var i = 0, l = arr.length; i < l; i++) {\n Array.prototype.push.apply(result, f(arr[i]));\n }\n return result;\n };\n };\n})(PS[\"Control.Bind\"] = PS[\"Control.Bind\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Control.Bind\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Category = PS[\"Control.Category\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Unit = PS[\"Data.Unit\"]; \n var Bind = function (Apply0, bind) {\n this.Apply0 = Apply0;\n this.bind = bind;\n };\n var Discard = function (discard) {\n this.discard = discard;\n };\n var discard = function (dict) {\n return dict.discard;\n }; \n var bindArray = new Bind(function () {\n return Control_Apply.applyArray;\n }, $foreign.arrayBind);\n var bind = function (dict) {\n return dict.bind;\n };\n var bindFlipped = function (dictBind) {\n return Data_Function.flip(bind(dictBind));\n };\n var composeKleisliFlipped = function (dictBind) {\n return function (f) {\n return function (g) {\n return function (a) {\n return bindFlipped(dictBind)(f)(g(a));\n };\n };\n };\n };\n var composeKleisli = function (dictBind) {\n return function (f) {\n return function (g) {\n return function (a) {\n return bind(dictBind)(f(a))(g);\n };\n };\n };\n };\n var discardUnit = new Discard(function (dictBind) {\n return bind(dictBind);\n });\n var join = function (dictBind) {\n return function (m) {\n return bind(dictBind)(m)(Control_Category.identity(Control_Category.categoryFn));\n };\n };\n exports[\"Bind\"] = Bind;\n exports[\"bind\"] = bind;\n exports[\"bindFlipped\"] = bindFlipped;\n exports[\"Discard\"] = Discard;\n exports[\"discard\"] = discard;\n exports[\"join\"] = join;\n exports[\"composeKleisli\"] = composeKleisli;\n exports[\"composeKleisliFlipped\"] = composeKleisliFlipped;\n exports[\"bindArray\"] = bindArray;\n exports[\"discardUnit\"] = discardUnit;\n})(PS[\"Control.Bind\"] = PS[\"Control.Bind\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Unit = PS[\"Data.Unit\"]; \n var Monad = function (Applicative0, Bind1) {\n this.Applicative0 = Applicative0;\n this.Bind1 = Bind1;\n };\n var unlessM = function (dictMonad) {\n return function (mb) {\n return function (m) {\n return Control_Bind.bind(dictMonad.Bind1())(mb)(function (v) {\n return Control_Applicative.unless(dictMonad.Applicative0())(v)(m);\n });\n };\n };\n };\n var ap = function (dictMonad) {\n return function (f) {\n return function (a) {\n return Control_Bind.bind(dictMonad.Bind1())(f)(function (v) {\n return Control_Bind.bind(dictMonad.Bind1())(a)(function (v1) {\n return Control_Applicative.pure(dictMonad.Applicative0())(v(v1));\n });\n });\n };\n };\n };\n exports[\"Monad\"] = Monad;\n exports[\"ap\"] = ap;\n exports[\"unlessM\"] = unlessM;\n})(PS[\"Control.Monad\"] = PS[\"Control.Monad\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Data_Functor = PS[\"Data.Functor\"]; \n var Plus = function (Alt0, empty) {\n this.Alt0 = Alt0;\n this.empty = empty;\n }; \n var empty = function (dict) {\n return dict.empty;\n };\n exports[\"Plus\"] = Plus;\n exports[\"empty\"] = empty;\n})(PS[\"Control.Plus\"] = PS[\"Control.Plus\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.topInt = 2147483647;\n exports.bottomInt = -2147483648;\n\n exports.topChar = String.fromCharCode(65535);\n exports.bottomChar = String.fromCharCode(0);\n})(PS[\"Data.Bounded\"] = PS[\"Data.Bounded\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Bounded\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Unit = PS[\"Data.Unit\"]; \n var Bounded = function (Ord0, bottom, top) {\n this.Ord0 = Ord0;\n this.bottom = bottom;\n this.top = top;\n };\n var top = function (dict) {\n return dict.top;\n }; \n var boundedInt = new Bounded(function () {\n return Data_Ord.ordInt;\n }, $foreign.bottomInt, $foreign.topInt);\n var boundedChar = new Bounded(function () {\n return Data_Ord.ordChar;\n }, $foreign.bottomChar, $foreign.topChar);\n var bottom = function (dict) {\n return dict.bottom;\n };\n exports[\"Bounded\"] = Bounded;\n exports[\"bottom\"] = bottom;\n exports[\"top\"] = top;\n exports[\"boundedInt\"] = boundedInt;\n exports[\"boundedChar\"] = boundedChar;\n})(PS[\"Data.Bounded\"] = PS[\"Data.Bounded\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.intDegree = function (x) {\n return Math.min(Math.abs(x), 2147483647);\n };\n\n // See the Euclidean definition in\n // https://en.m.wikipedia.org/wiki/Modulo_operation.\n exports.intDiv = function (x) {\n return function (y) {\n if (y === 0) return 0;\n return y > 0 ? Math.floor(x / y) : -Math.floor(x / -y);\n };\n };\n\n exports.intMod = function (x) {\n return function (y) {\n if (y === 0) return 0;\n var yy = Math.abs(y);\n return ((x % yy) + yy) % yy;\n };\n };\n})(PS[\"Data.EuclideanRing\"] = PS[\"Data.EuclideanRing\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"]; \n var CommutativeRing = function (Ring0) {\n this.Ring0 = Ring0;\n }; \n var commutativeRingInt = new CommutativeRing(function () {\n return Data_Ring.ringInt;\n });\n exports[\"CommutativeRing\"] = CommutativeRing;\n exports[\"commutativeRingInt\"] = commutativeRingInt;\n})(PS[\"Data.CommutativeRing\"] = PS[\"Data.CommutativeRing\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.EuclideanRing\"];\n var Data_BooleanAlgebra = PS[\"Data.BooleanAlgebra\"];\n var Data_CommutativeRing = PS[\"Data.CommutativeRing\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"]; \n var EuclideanRing = function (CommutativeRing0, degree, div, mod) {\n this.CommutativeRing0 = CommutativeRing0;\n this.degree = degree;\n this.div = div;\n this.mod = mod;\n };\n var mod = function (dict) {\n return dict.mod;\n }; \n var euclideanRingInt = new EuclideanRing(function () {\n return Data_CommutativeRing.commutativeRingInt;\n }, $foreign.intDegree, $foreign.intDiv, $foreign.intMod);\n var div = function (dict) {\n return dict.div;\n };\n var degree = function (dict) {\n return dict.degree;\n };\n exports[\"EuclideanRing\"] = EuclideanRing;\n exports[\"degree\"] = degree;\n exports[\"div\"] = div;\n exports[\"mod\"] = mod;\n exports[\"euclideanRingInt\"] = euclideanRingInt;\n})(PS[\"Data.EuclideanRing\"] = PS[\"Data.EuclideanRing\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_EuclideanRing = PS[\"Data.EuclideanRing\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var Monoid = function (Semigroup0, mempty) {\n this.Semigroup0 = Semigroup0;\n this.mempty = mempty;\n }; \n var monoidString = new Monoid(function () {\n return Data_Semigroup.semigroupString;\n }, \"\"); \n var monoidArray = new Monoid(function () {\n return Data_Semigroup.semigroupArray;\n }, [ ]);\n var mempty = function (dict) {\n return dict.mempty;\n };\n var monoidFn = function (dictMonoid) {\n return new Monoid(function () {\n return Data_Semigroup.semigroupFn(dictMonoid.Semigroup0());\n }, function (v) {\n return mempty(dictMonoid);\n });\n };\n var guard = function (dictMonoid) {\n return function (v) {\n return function (v1) {\n if (v) {\n return v1;\n };\n if (!v) {\n return mempty(dictMonoid);\n };\n throw new Error(\"Failed pattern match at Data.Monoid (line 74, column 1 - line 74, column 49): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n };\n exports[\"Monoid\"] = Monoid;\n exports[\"mempty\"] = mempty;\n exports[\"guard\"] = guard;\n exports[\"monoidFn\"] = monoidFn;\n exports[\"monoidString\"] = monoidString;\n exports[\"monoidArray\"] = monoidArray;\n})(PS[\"Data.Monoid\"] = PS[\"Data.Monoid\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Invariant = PS[\"Data.Functor.Invariant\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"]; \n var Nothing = (function () {\n function Nothing() {\n\n };\n Nothing.value = new Nothing();\n return Nothing;\n })();\n var Just = (function () {\n function Just(value0) {\n this.value0 = value0;\n };\n Just.create = function (value0) {\n return new Just(value0);\n };\n return Just;\n })();\n var maybe = function (v) {\n return function (v1) {\n return function (v2) {\n if (v2 instanceof Nothing) {\n return v;\n };\n if (v2 instanceof Just) {\n return v1(v2.value0);\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 217, column 1 - line 217, column 51): \" + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);\n };\n };\n };\n var isNothing = maybe(true)(Data_Function[\"const\"](false));\n var isJust = maybe(false)(Data_Function[\"const\"](true));\n var functorMaybe = new Data_Functor.Functor(function (v) {\n return function (v1) {\n if (v1 instanceof Just) {\n return new Just(v(v1.value0));\n };\n return Nothing.value;\n };\n });\n var fromMaybe = function (a) {\n return maybe(a)(Control_Category.identity(Control_Category.categoryFn));\n };\n var fromJust = function (dictPartial) {\n return function (v) {\n if (v instanceof Just) {\n return v.value0;\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 268, column 1 - line 268, column 46): \" + [ v.constructor.name ]);\n };\n }; \n var eqMaybe = function (dictEq) {\n return new Data_Eq.Eq(function (x) {\n return function (y) {\n if (x instanceof Nothing && y instanceof Nothing) {\n return true;\n };\n if (x instanceof Just && y instanceof Just) {\n return Data_Eq.eq(dictEq)(x.value0)(y.value0);\n };\n return false;\n };\n });\n };\n var applyMaybe = new Control_Apply.Apply(function () {\n return functorMaybe;\n }, function (v) {\n return function (v1) {\n if (v instanceof Just) {\n return Data_Functor.map(functorMaybe)(v.value0)(v1);\n };\n if (v instanceof Nothing) {\n return Nothing.value;\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 67, column 1 - line 67, column 35): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n var bindMaybe = new Control_Bind.Bind(function () {\n return applyMaybe;\n }, function (v) {\n return function (v1) {\n if (v instanceof Just) {\n return v1(v.value0);\n };\n if (v instanceof Nothing) {\n return Nothing.value;\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 125, column 1 - line 125, column 33): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n exports[\"Nothing\"] = Nothing;\n exports[\"Just\"] = Just;\n exports[\"maybe\"] = maybe;\n exports[\"fromMaybe\"] = fromMaybe;\n exports[\"isJust\"] = isJust;\n exports[\"isNothing\"] = isNothing;\n exports[\"fromJust\"] = fromJust;\n exports[\"functorMaybe\"] = functorMaybe;\n exports[\"applyMaybe\"] = applyMaybe;\n exports[\"bindMaybe\"] = bindMaybe;\n exports[\"eqMaybe\"] = eqMaybe;\n})(PS[\"Data.Maybe\"] = PS[\"Data.Maybe\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.empty = {};\n\n exports._lookup = function (no, yes, k, m) {\n return k in m ? yes(m[k]) : no;\n };\n\n function toArrayWithKey(f) {\n return function (m) {\n var r = [];\n for (var k in m) {\n if (hasOwnProperty.call(m, k)) {\n r.push(f(k)(m[k]));\n }\n }\n return r;\n };\n }\n})(PS[\"Foreign.Object\"] = PS[\"Foreign.Object\"] || {});\n(function(exports) {\n \"use strict\";\n\n //------------------------------------------------------------------------------\n // Array size ------------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.length = function (xs) {\n return xs.length;\n };\n\n //------------------------------------------------------------------------------\n // Extending arrays ------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.cons = function (e) {\n return function (l) {\n return [e].concat(l);\n };\n };\n\n exports.snoc = function (l) {\n return function (e) {\n var l1 = l.slice();\n l1.push(e);\n return l1;\n };\n };\n\n exports.concat = function (xss) {\n if (xss.length <= 10000) {\n // This method is faster, but it crashes on big arrays.\n // So we use it when can and fallback to simple variant otherwise.\n return Array.prototype.concat.apply([], xss);\n }\n\n var result = [];\n for (var i = 0, l = xss.length; i < l; i++) {\n var xs = xss[i];\n for (var j = 0, m = xs.length; j < m; j++) {\n result.push(xs[j]);\n }\n }\n return result;\n };\n\n exports.filter = function (f) {\n return function (xs) {\n return xs.filter(f);\n };\n };\n\n //------------------------------------------------------------------------------\n // Subarrays -------------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.slice = function (s) {\n return function (e) {\n return function (l) {\n return l.slice(s, e);\n };\n };\n };\n\n exports.drop = function (n) {\n return function (l) {\n return n < 1 ? l : l.slice(n);\n };\n };\n})(PS[\"Data.Array\"] = PS[\"Data.Array\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"]; \n var Bifunctor = function (bimap) {\n this.bimap = bimap;\n };\n var bimap = function (dict) {\n return dict.bimap;\n };\n var rmap = function (dictBifunctor) {\n return bimap(dictBifunctor)(Control_Category.identity(Control_Category.categoryFn));\n };\n exports[\"bimap\"] = bimap;\n exports[\"Bifunctor\"] = Bifunctor;\n exports[\"rmap\"] = rmap;\n})(PS[\"Data.Bifunctor\"] = PS[\"Data.Bifunctor\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.foldrArray = function (f) {\n return function (init) {\n return function (xs) {\n var acc = init;\n var len = xs.length;\n for (var i = len - 1; i >= 0; i--) {\n acc = f(xs[i])(acc);\n }\n return acc;\n };\n };\n };\n\n exports.foldlArray = function (f) {\n return function (init) {\n return function (xs) {\n var acc = init;\n var len = xs.length;\n for (var i = 0; i < len; i++) {\n acc = f(acc)(xs[i]);\n }\n return acc;\n };\n };\n };\n})(PS[\"Data.Foldable\"] = PS[\"Data.Foldable\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Prelude = PS[\"Prelude\"]; \n var Disj = function (x) {\n return x;\n };\n var semigroupDisj = function (dictHeytingAlgebra) {\n return new Data_Semigroup.Semigroup(function (v) {\n return function (v1) {\n return Data_HeytingAlgebra.disj(dictHeytingAlgebra)(v)(v1);\n };\n });\n };\n var monoidDisj = function (dictHeytingAlgebra) {\n return new Data_Monoid.Monoid(function () {\n return semigroupDisj(dictHeytingAlgebra);\n }, Data_HeytingAlgebra.ff(dictHeytingAlgebra));\n };\n exports[\"Disj\"] = Disj;\n exports[\"semigroupDisj\"] = semigroupDisj;\n exports[\"monoidDisj\"] = monoidDisj;\n})(PS[\"Data.Monoid.Disj\"] = PS[\"Data.Monoid.Disj\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Monoid_Additive = PS[\"Data.Monoid.Additive\"];\n var Data_Monoid_Conj = PS[\"Data.Monoid.Conj\"];\n var Data_Monoid_Disj = PS[\"Data.Monoid.Disj\"];\n var Data_Monoid_Dual = PS[\"Data.Monoid.Dual\"];\n var Data_Monoid_Endo = PS[\"Data.Monoid.Endo\"];\n var Data_Monoid_Multiplicative = PS[\"Data.Monoid.Multiplicative\"];\n var Data_Semigroup_First = PS[\"Data.Semigroup.First\"];\n var Data_Semigroup_Last = PS[\"Data.Semigroup.Last\"];\n var Prelude = PS[\"Prelude\"]; \n var Newtype = function (unwrap, wrap) {\n this.unwrap = unwrap;\n this.wrap = wrap;\n };\n var wrap = function (dict) {\n return dict.wrap;\n };\n var unwrap = function (dict) {\n return dict.unwrap;\n }; \n var newtypeDisj = new Newtype(function (v) {\n return v;\n }, Data_Monoid_Disj.Disj);\n var alaF = function (dictFunctor) {\n return function (dictFunctor1) {\n return function (dictNewtype) {\n return function (dictNewtype1) {\n return function (v) {\n return function (f) {\n return function ($80) {\n return Data_Functor.map(dictFunctor1)(unwrap(dictNewtype1))(f(Data_Functor.map(dictFunctor)(wrap(dictNewtype))($80)));\n };\n };\n };\n };\n };\n };\n };\n exports[\"unwrap\"] = unwrap;\n exports[\"wrap\"] = wrap;\n exports[\"Newtype\"] = Newtype;\n exports[\"alaF\"] = alaF;\n exports[\"newtypeDisj\"] = newtypeDisj;\n})(PS[\"Data.Newtype\"] = PS[\"Data.Newtype\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Foldable\"];\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Maybe_First = PS[\"Data.Maybe.First\"];\n var Data_Maybe_Last = PS[\"Data.Maybe.Last\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Monoid_Additive = PS[\"Data.Monoid.Additive\"];\n var Data_Monoid_Conj = PS[\"Data.Monoid.Conj\"];\n var Data_Monoid_Disj = PS[\"Data.Monoid.Disj\"];\n var Data_Monoid_Dual = PS[\"Data.Monoid.Dual\"];\n var Data_Monoid_Endo = PS[\"Data.Monoid.Endo\"];\n var Data_Monoid_Multiplicative = PS[\"Data.Monoid.Multiplicative\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"]; \n var Foldable = function (foldMap, foldl, foldr) {\n this.foldMap = foldMap;\n this.foldl = foldl;\n this.foldr = foldr;\n };\n var foldr = function (dict) {\n return dict.foldr;\n };\n var traverse_ = function (dictApplicative) {\n return function (dictFoldable) {\n return function (f) {\n return foldr(dictFoldable)(function ($195) {\n return Control_Apply.applySecond(dictApplicative.Apply0())(f($195));\n })(Control_Applicative.pure(dictApplicative)(Data_Unit.unit));\n };\n };\n };\n var for_ = function (dictApplicative) {\n return function (dictFoldable) {\n return Data_Function.flip(traverse_(dictApplicative)(dictFoldable));\n };\n };\n var foldl = function (dict) {\n return dict.foldl;\n }; \n var foldableMaybe = new Foldable(function (dictMonoid) {\n return function (f) {\n return function (v) {\n if (v instanceof Data_Maybe.Nothing) {\n return Data_Monoid.mempty(dictMonoid);\n };\n if (v instanceof Data_Maybe.Just) {\n return f(v.value0);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 129, column 1 - line 129, column 41): \" + [ f.constructor.name, v.constructor.name ]);\n };\n };\n }, function (v) {\n return function (z) {\n return function (v1) {\n if (v1 instanceof Data_Maybe.Nothing) {\n return z;\n };\n if (v1 instanceof Data_Maybe.Just) {\n return v(z)(v1.value0);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 129, column 1 - line 129, column 41): \" + [ v.constructor.name, z.constructor.name, v1.constructor.name ]);\n };\n };\n }, function (v) {\n return function (z) {\n return function (v1) {\n if (v1 instanceof Data_Maybe.Nothing) {\n return z;\n };\n if (v1 instanceof Data_Maybe.Just) {\n return v(v1.value0)(z);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 129, column 1 - line 129, column 41): \" + [ v.constructor.name, z.constructor.name, v1.constructor.name ]);\n };\n };\n });\n var foldMapDefaultR = function (dictFoldable) {\n return function (dictMonoid) {\n return function (f) {\n return foldr(dictFoldable)(function (x) {\n return function (acc) {\n return Data_Semigroup.append(dictMonoid.Semigroup0())(f(x))(acc);\n };\n })(Data_Monoid.mempty(dictMonoid));\n };\n };\n };\n var foldableArray = new Foldable(function (dictMonoid) {\n return foldMapDefaultR(foldableArray)(dictMonoid);\n }, $foreign.foldlArray, $foreign.foldrArray);\n var foldMap = function (dict) {\n return dict.foldMap;\n };\n var find = function (dictFoldable) {\n return function (p) {\n var go = function (v) {\n return function (v1) {\n if (v instanceof Data_Maybe.Nothing && p(v1)) {\n return new Data_Maybe.Just(v1);\n };\n return v;\n };\n };\n return foldl(dictFoldable)(go)(Data_Maybe.Nothing.value);\n };\n };\n var any = function (dictFoldable) {\n return function (dictHeytingAlgebra) {\n return Data_Newtype.alaF(Data_Functor.functorFn)(Data_Functor.functorFn)(Data_Newtype.newtypeDisj)(Data_Newtype.newtypeDisj)(Data_Monoid_Disj.Disj)(foldMap(dictFoldable)(Data_Monoid_Disj.monoidDisj(dictHeytingAlgebra)));\n };\n };\n exports[\"Foldable\"] = Foldable;\n exports[\"foldr\"] = foldr;\n exports[\"foldl\"] = foldl;\n exports[\"foldMap\"] = foldMap;\n exports[\"foldMapDefaultR\"] = foldMapDefaultR;\n exports[\"traverse_\"] = traverse_;\n exports[\"for_\"] = for_;\n exports[\"any\"] = any;\n exports[\"find\"] = find;\n exports[\"foldableArray\"] = foldableArray;\n exports[\"foldableMaybe\"] = foldableMaybe;\n})(PS[\"Data.Foldable\"] = PS[\"Data.Foldable\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifoldable = PS[\"Data.Bifoldable\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Bitraversable = PS[\"Data.Bitraversable\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Invariant = PS[\"Data.Functor.Invariant\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"]; \n var Left = (function () {\n function Left(value0) {\n this.value0 = value0;\n };\n Left.create = function (value0) {\n return new Left(value0);\n };\n return Left;\n })();\n var Right = (function () {\n function Right(value0) {\n this.value0 = value0;\n };\n Right.create = function (value0) {\n return new Right(value0);\n };\n return Right;\n })();\n var functorEither = new Data_Functor.Functor(function (f) {\n return function (m) {\n if (m instanceof Left) {\n return new Left(m.value0);\n };\n if (m instanceof Right) {\n return new Right(f(m.value0));\n };\n throw new Error(\"Failed pattern match at Data.Either (line 38, column 8 - line 38, column 52): \" + [ m.constructor.name ]);\n };\n });\n var either = function (v) {\n return function (v1) {\n return function (v2) {\n if (v2 instanceof Left) {\n return v(v2.value0);\n };\n if (v2 instanceof Right) {\n return v1(v2.value0);\n };\n throw new Error(\"Failed pattern match at Data.Either (line 238, column 1 - line 238, column 64): \" + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);\n };\n };\n };\n var bifunctorEither = new Data_Bifunctor.Bifunctor(function (v) {\n return function (v1) {\n return function (v2) {\n if (v2 instanceof Left) {\n return new Left(v(v2.value0));\n };\n if (v2 instanceof Right) {\n return new Right(v1(v2.value0));\n };\n throw new Error(\"Failed pattern match at Data.Either (line 46, column 1 - line 46, column 45): \" + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);\n };\n };\n });\n var applyEither = new Control_Apply.Apply(function () {\n return functorEither;\n }, function (v) {\n return function (v1) {\n if (v instanceof Left) {\n return new Left(v.value0);\n };\n if (v instanceof Right) {\n return Data_Functor.map(functorEither)(v.value0)(v1);\n };\n throw new Error(\"Failed pattern match at Data.Either (line 82, column 1 - line 82, column 41): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n exports[\"Left\"] = Left;\n exports[\"Right\"] = Right;\n exports[\"either\"] = either;\n exports[\"functorEither\"] = functorEither;\n exports[\"bifunctorEither\"] = bifunctorEither;\n exports[\"applyEither\"] = applyEither;\n})(PS[\"Data.Either\"] = PS[\"Data.Either\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Comonad = PS[\"Control.Comonad\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Lazy = PS[\"Control.Lazy\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Data_BooleanAlgebra = PS[\"Data.BooleanAlgebra\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_CommutativeRing = PS[\"Data.CommutativeRing\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_EuclideanRing = PS[\"Data.EuclideanRing\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Invariant = PS[\"Data.Functor.Invariant\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"]; \n var Identity = function (x) {\n return x;\n };\n var newtypeIdentity = new Data_Newtype.Newtype(function (n) {\n return n;\n }, Identity);\n var functorIdentity = new Data_Functor.Functor(function (f) {\n return function (m) {\n return f(m);\n };\n });\n var applyIdentity = new Control_Apply.Apply(function () {\n return functorIdentity;\n }, function (v) {\n return function (v1) {\n return v(v1);\n };\n });\n var bindIdentity = new Control_Bind.Bind(function () {\n return applyIdentity;\n }, function (v) {\n return function (f) {\n return f(v);\n };\n });\n var applicativeIdentity = new Control_Applicative.Applicative(function () {\n return applyIdentity;\n }, Identity);\n var monadIdentity = new Control_Monad.Monad(function () {\n return applicativeIdentity;\n }, function () {\n return bindIdentity;\n });\n exports[\"Identity\"] = Identity;\n exports[\"newtypeIdentity\"] = newtypeIdentity;\n exports[\"functorIdentity\"] = functorIdentity;\n exports[\"applyIdentity\"] = applyIdentity;\n exports[\"applicativeIdentity\"] = applicativeIdentity;\n exports[\"bindIdentity\"] = bindIdentity;\n exports[\"monadIdentity\"] = monadIdentity;\n})(PS[\"Data.Identity\"] = PS[\"Data.Identity\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.pureE = function (a) {\n return function () {\n return a;\n };\n };\n\n exports.bindE = function (a) {\n return function (f) {\n return function () {\n return f(a())();\n };\n };\n };\n})(PS[\"Effect\"] = PS[\"Effect\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Prelude = PS[\"Prelude\"]; \n var monadEffect = new Control_Monad.Monad(function () {\n return applicativeEffect;\n }, function () {\n return bindEffect;\n });\n var bindEffect = new Control_Bind.Bind(function () {\n return applyEffect;\n }, $foreign.bindE);\n var applyEffect = new Control_Apply.Apply(function () {\n return functorEffect;\n }, Control_Monad.ap(monadEffect));\n var applicativeEffect = new Control_Applicative.Applicative(function () {\n return applyEffect;\n }, $foreign.pureE);\n var functorEffect = new Data_Functor.Functor(Control_Applicative.liftA1(applicativeEffect));\n exports[\"functorEffect\"] = functorEffect;\n exports[\"applyEffect\"] = applyEffect;\n exports[\"applicativeEffect\"] = applicativeEffect;\n exports[\"bindEffect\"] = bindEffect;\n exports[\"monadEffect\"] = monadEffect;\n})(PS[\"Effect\"] = PS[\"Effect\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.new = function (val) {\n return function () {\n return { value: val };\n };\n };\n\n exports.read = function (ref) {\n return function () {\n return ref.value;\n };\n };\n\n exports[\"modify'\"] = function (f) {\n return function (ref) {\n return function () {\n var t = f(ref.value);\n ref.value = t.state;\n return t.value;\n };\n };\n };\n\n exports.write = function (val) {\n return function (ref) {\n return function () {\n ref.value = val;\n return {};\n };\n };\n };\n})(PS[\"Effect.Ref\"] = PS[\"Effect.Ref\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.Ref\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"]; \n var modify = function (f) {\n return $foreign[\"modify'\"](function (s) {\n var s$prime = f(s);\n return {\n state: s$prime,\n value: s$prime\n };\n });\n };\n var modify_ = function (f) {\n return function (s) {\n return Data_Functor[\"void\"](Effect.functorEffect)(modify(f)(s));\n };\n };\n exports[\"modify\"] = modify;\n exports[\"modify_\"] = modify_;\n exports[\"new\"] = $foreign[\"new\"];\n exports[\"read\"] = $foreign.read;\n exports[\"modify'\"] = $foreign[\"modify'\"];\n exports[\"write\"] = $foreign.write;\n})(PS[\"Effect.Ref\"] = PS[\"Effect.Ref\"] || {});\n(function(exports) {\n \"use strict\";\n\n // module Partial.Unsafe\n\n exports.unsafePartial = function (f) {\n return f();\n };\n})(PS[\"Partial.Unsafe\"] = PS[\"Partial.Unsafe\"] || {});\n(function(exports) {\n \"use strict\";\n\n // module Partial\n\n exports.crashWith = function () {\n return function (msg) {\n throw new Error(msg);\n };\n };\n})(PS[\"Partial\"] = PS[\"Partial\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Partial\"];\n exports[\"crashWith\"] = $foreign.crashWith;\n})(PS[\"Partial\"] = PS[\"Partial\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Partial.Unsafe\"];\n var Partial = PS[\"Partial\"];\n var unsafeCrashWith = function (msg) {\n return $foreign.unsafePartial(function (dictPartial) {\n return Partial.crashWith(dictPartial)(msg);\n });\n };\n exports[\"unsafeCrashWith\"] = unsafeCrashWith;\n})(PS[\"Partial.Unsafe\"] = PS[\"Partial.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"]; \n var Loop = (function () {\n function Loop(value0) {\n this.value0 = value0;\n };\n Loop.create = function (value0) {\n return new Loop(value0);\n };\n return Loop;\n })();\n var Done = (function () {\n function Done(value0) {\n this.value0 = value0;\n };\n Done.create = function (value0) {\n return new Done(value0);\n };\n return Done;\n })();\n var MonadRec = function (Monad0, tailRecM) {\n this.Monad0 = Monad0;\n this.tailRecM = tailRecM;\n };\n var tailRecM = function (dict) {\n return dict.tailRecM;\n }; \n var monadRecEffect = new MonadRec(function () {\n return Effect.monadEffect;\n }, function (f) {\n return function (a) {\n var fromDone = function (v) {\n if (v instanceof Done) {\n return v.value0;\n };\n throw new Error(\"Failed pattern match at Control.Monad.Rec.Class (line 111, column 30 - line 111, column 44): \" + [ v.constructor.name ]);\n };\n return function __do() {\n var v = Control_Bind.bindFlipped(Effect.bindEffect)(Effect_Ref[\"new\"])(f(a))();\n (function () {\n while (!(function __do() {\n var v1 = Effect_Ref.read(v)();\n if (v1 instanceof Loop) {\n var v2 = f(v1.value0)();\n var v3 = Effect_Ref.write(v2)(v)();\n return false;\n };\n if (v1 instanceof Done) {\n return true;\n };\n throw new Error(\"Failed pattern match at Control.Monad.Rec.Class (line 102, column 22 - line 107, column 28): \" + [ v1.constructor.name ]);\n })()) {\n\n };\n return {};\n })();\n return Data_Functor.map(Effect.functorEffect)(fromDone)(Effect_Ref.read(v))();\n };\n };\n });\n exports[\"Loop\"] = Loop;\n exports[\"Done\"] = Done;\n exports[\"MonadRec\"] = MonadRec;\n exports[\"tailRecM\"] = tailRecM;\n exports[\"monadRecEffect\"] = monadRecEffect;\n})(PS[\"Control.Monad.Rec.Class\"] = PS[\"Control.Monad.Rec.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Biapplicative = PS[\"Control.Biapplicative\"];\n var Control_Biapply = PS[\"Control.Biapply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Comonad = PS[\"Control.Comonad\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Lazy = PS[\"Control.Lazy\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifoldable = PS[\"Data.Bifoldable\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Bitraversable = PS[\"Data.Bitraversable\"];\n var Data_BooleanAlgebra = PS[\"Data.BooleanAlgebra\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_CommutativeRing = PS[\"Data.CommutativeRing\"];\n var Data_Distributive = PS[\"Data.Distributive\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Invariant = PS[\"Data.Functor.Invariant\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Maybe_First = PS[\"Data.Maybe.First\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"];\n var Type_Equality = PS[\"Type.Equality\"]; \n var Tuple = (function () {\n function Tuple(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Tuple.create = function (value0) {\n return function (value1) {\n return new Tuple(value0, value1);\n };\n };\n return Tuple;\n })();\n var snd = function (v) {\n return v.value1;\n };\n var functorTuple = new Data_Functor.Functor(function (f) {\n return function (m) {\n return new Tuple(m.value0, f(m.value1));\n };\n }); \n var fst = function (v) {\n return v.value0;\n }; \n var eqTuple = function (dictEq) {\n return function (dictEq1) {\n return new Data_Eq.Eq(function (x) {\n return function (y) {\n return Data_Eq.eq(dictEq)(x.value0)(y.value0) && Data_Eq.eq(dictEq1)(x.value1)(y.value1);\n };\n });\n };\n };\n var ordTuple = function (dictOrd) {\n return function (dictOrd1) {\n return new Data_Ord.Ord(function () {\n return eqTuple(dictOrd.Eq0())(dictOrd1.Eq0());\n }, function (x) {\n return function (y) {\n var v = Data_Ord.compare(dictOrd)(x.value0)(y.value0);\n if (v instanceof Data_Ordering.LT) {\n return Data_Ordering.LT.value;\n };\n if (v instanceof Data_Ordering.GT) {\n return Data_Ordering.GT.value;\n };\n return Data_Ord.compare(dictOrd1)(x.value1)(y.value1);\n };\n });\n };\n };\n exports[\"Tuple\"] = Tuple;\n exports[\"fst\"] = fst;\n exports[\"snd\"] = snd;\n exports[\"eqTuple\"] = eqTuple;\n exports[\"ordTuple\"] = ordTuple;\n exports[\"functorTuple\"] = functorTuple;\n})(PS[\"Data.Tuple\"] = PS[\"Data.Tuple\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unfoldrArrayImpl = function (isNothing) {\n return function (fromJust) {\n return function (fst) {\n return function (snd) {\n return function (f) {\n return function (b) {\n var result = [];\n var value = b;\n while (true) { // eslint-disable-line no-constant-condition\n var maybe = f(value);\n if (isNothing(maybe)) return result;\n var tuple = fromJust(maybe);\n result.push(fst(tuple));\n value = snd(tuple);\n }\n };\n };\n };\n };\n };\n };\n})(PS[\"Data.Unfoldable\"] = PS[\"Data.Unfoldable\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unfoldr1ArrayImpl = function (isNothing) {\n return function (fromJust) {\n return function (fst) {\n return function (snd) {\n return function (f) {\n return function (b) {\n var result = [];\n var value = b;\n while (true) { // eslint-disable-line no-constant-condition\n var tuple = f(value);\n result.push(fst(tuple));\n var maybe = snd(tuple);\n if (isNothing(maybe)) return result;\n value = fromJust(maybe);\n }\n };\n };\n };\n };\n };\n };\n})(PS[\"Data.Unfoldable1\"] = PS[\"Data.Unfoldable1\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Unfoldable1\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"]; \n var Unfoldable1 = function (unfoldr1) {\n this.unfoldr1 = unfoldr1;\n };\n var unfoldr1 = function (dict) {\n return dict.unfoldr1;\n };\n var unfoldable1Array = new Unfoldable1($foreign.unfoldr1ArrayImpl(Data_Maybe.isNothing)(Data_Maybe.fromJust())(Data_Tuple.fst)(Data_Tuple.snd));\n exports[\"Unfoldable1\"] = Unfoldable1;\n exports[\"unfoldr1\"] = unfoldr1;\n exports[\"unfoldable1Array\"] = unfoldable1Array;\n})(PS[\"Data.Unfoldable1\"] = PS[\"Data.Unfoldable1\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Unfoldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"]; \n var Unfoldable = function (Unfoldable10, unfoldr) {\n this.Unfoldable10 = Unfoldable10;\n this.unfoldr = unfoldr;\n };\n var unfoldr = function (dict) {\n return dict.unfoldr;\n };\n var unfoldableArray = new Unfoldable(function () {\n return Data_Unfoldable1.unfoldable1Array;\n }, $foreign.unfoldrArrayImpl(Data_Maybe.isNothing)(Data_Maybe.fromJust())(Data_Tuple.fst)(Data_Tuple.snd));\n exports[\"Unfoldable\"] = Unfoldable;\n exports[\"unfoldr\"] = unfoldr;\n exports[\"unfoldableArray\"] = unfoldableArray;\n})(PS[\"Data.Unfoldable\"] = PS[\"Data.Unfoldable\"] || {});\n(function(exports) {\n \"use strict\";\n\n // module Unsafe.Coerce\n\n exports.unsafeCoerce = function (x) {\n return x;\n };\n})(PS[\"Unsafe.Coerce\"] = PS[\"Unsafe.Coerce\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Unsafe.Coerce\"];\n exports[\"unsafeCoerce\"] = $foreign.unsafeCoerce;\n})(PS[\"Unsafe.Coerce\"] = PS[\"Unsafe.Coerce\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Array\"];\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Lazy = PS[\"Control.Lazy\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_ST = PS[\"Control.Monad.ST\"];\n var Control_Monad_ST_Internal = PS[\"Control.Monad.ST.Internal\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Array_NonEmpty_Internal = PS[\"Data.Array.NonEmpty.Internal\"];\n var Data_Array_ST = PS[\"Data.Array.ST\"];\n var Data_Array_ST_Iterator = PS[\"Data.Array.ST.Iterator\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var singleton = function (a) {\n return [ a ];\n };\n var concatMap = Data_Function.flip(Control_Bind.bind(Control_Bind.bindArray));\n var mapMaybe = function (f) {\n return concatMap(function ($114) {\n return Data_Maybe.maybe([ ])(singleton)(f($114));\n });\n };\n exports[\"singleton\"] = singleton;\n exports[\"concatMap\"] = concatMap;\n exports[\"mapMaybe\"] = mapMaybe;\n exports[\"length\"] = $foreign.length;\n exports[\"cons\"] = $foreign.cons;\n exports[\"snoc\"] = $foreign.snoc;\n exports[\"filter\"] = $foreign.filter;\n exports[\"drop\"] = $foreign.drop;\n})(PS[\"Data.Array\"] = PS[\"Data.Array\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports[\"new\"] = function () {\n return {};\n };\n})(PS[\"Foreign.Object.ST\"] = PS[\"Foreign.Object.ST\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Foreign.Object.ST\"];\n var Control_Monad_ST = PS[\"Control.Monad.ST\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n exports[\"new\"] = $foreign[\"new\"];\n})(PS[\"Foreign.Object.ST\"] = PS[\"Foreign.Object.ST\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Foreign.Object\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad_ST = PS[\"Control.Monad.ST\"];\n var Control_Monad_ST_Internal = PS[\"Control.Monad.ST.Internal\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Foreign_Object_ST = PS[\"Foreign.Object.ST\"];\n var Prelude = PS[\"Prelude\"];\n var Type_Row_Homogeneous = PS[\"Type.Row.Homogeneous\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var lookup = Data_Function_Uncurried.runFn4($foreign[\"_lookup\"])(Data_Maybe.Nothing.value)(Data_Maybe.Just.create);\n exports[\"lookup\"] = lookup;\n exports[\"empty\"] = $foreign.empty;\n})(PS[\"Foreign.Object\"] = PS[\"Foreign.Object\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Argonaut.Core\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Foreign_Object = PS[\"Foreign.Object\"];\n var Prelude = PS[\"Prelude\"]; \n var jsonEmptyObject = $foreign.fromObject(Foreign_Object.empty);\n exports[\"jsonEmptyObject\"] = jsonEmptyObject;\n exports[\"stringify\"] = $foreign.stringify;\n})(PS[\"Data.Argonaut.Core\"] = PS[\"Data.Argonaut.Core\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.replace = function (s1) {\n return function (s2) {\n return function (s3) {\n return s3.replace(s1, s2);\n };\n };\n };\n\n exports.replaceAll = function (s1) {\n return function (s2) {\n return function (s3) {\n return s3.replace(new RegExp(s1.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\"), \"g\"), s2); // eslint-disable-line no-useless-escape\n };\n };\n };\n\n exports.split = function (sep) {\n return function (s) {\n return s.split(sep);\n };\n };\n\n exports.joinWith = function (s) {\n return function (xs) {\n return xs.join(s);\n };\n };\n})(PS[\"Data.String.Common\"] = PS[\"Data.String.Common\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.String.Common\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Prelude = PS[\"Prelude\"]; \n var $$null = function (s) {\n return s === \"\";\n };\n exports[\"null\"] = $$null;\n exports[\"replaceAll\"] = $foreign.replaceAll;\n exports[\"split\"] = $foreign.split;\n exports[\"joinWith\"] = $foreign.joinWith;\n})(PS[\"Data.String.Common\"] = PS[\"Data.String.Common\"] || {});\n(function(exports) {\n /* globals exports, JSON */\n \"use strict\";\n\n exports.unsafeStringify = function (x) {\n return JSON.stringify(x);\n }; \n exports.unsafeDecodeURIComponent = decodeURIComponent;\n exports.unsafeEncodeURIComponent = encodeURIComponent;\n})(PS[\"Global.Unsafe\"] = PS[\"Global.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Global.Unsafe\"];\n exports[\"unsafeStringify\"] = $foreign.unsafeStringify;\n exports[\"unsafeDecodeURIComponent\"] = $foreign.unsafeDecodeURIComponent;\n exports[\"unsafeEncodeURIComponent\"] = $foreign.unsafeEncodeURIComponent;\n})(PS[\"Global.Unsafe\"] = PS[\"Global.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Global_Unsafe = PS[\"Global.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var toArray = function (v) {\n return v;\n }; \n var encode = (function () {\n var encodePart = function (v) {\n if (v.value1 instanceof Data_Maybe.Nothing) {\n return Global_Unsafe.unsafeEncodeURIComponent(v.value0);\n };\n if (v.value1 instanceof Data_Maybe.Just) {\n return Global_Unsafe.unsafeEncodeURIComponent(v.value0) + (\"=\" + Global_Unsafe.unsafeEncodeURIComponent(v.value1.value0));\n };\n throw new Error(\"Failed pattern match at Data.FormURLEncoded (line 35, column 18 - line 37, column 89): \" + [ v.constructor.name ]);\n };\n return function ($14) {\n return Data_String_Common.joinWith(\"&\")(Data_Functor.map(Data_Functor.functorArray)(encodePart)(toArray($14)));\n };\n })();\n exports[\"toArray\"] = toArray;\n exports[\"encode\"] = encode;\n})(PS[\"Data.FormURLEncoded\"] = PS[\"Data.FormURLEncoded\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Prelude = PS[\"Prelude\"]; \n var MediaType = function (x) {\n return x;\n }; \n var newtypeMediaType = new Data_Newtype.Newtype(function (n) {\n return n;\n }, MediaType);\n exports[\"MediaType\"] = MediaType;\n exports[\"newtypeMediaType\"] = newtypeMediaType;\n})(PS[\"Data.MediaType\"] = PS[\"Data.MediaType\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_MediaType = PS[\"Data.MediaType\"]; \n var applicationJSON = \"application/json\";\n var applicationFormURLEncoded = \"application/x-www-form-urlencoded\";\n exports[\"applicationFormURLEncoded\"] = applicationFormURLEncoded;\n exports[\"applicationJSON\"] = applicationJSON;\n})(PS[\"Data.MediaType.Common\"] = PS[\"Data.MediaType.Common\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Argonaut_Core = PS[\"Data.Argonaut.Core\"];\n var Data_ArrayBuffer_Types = PS[\"Data.ArrayBuffer.Types\"];\n var Data_FormURLEncoded = PS[\"Data.FormURLEncoded\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_MediaType = PS[\"Data.MediaType\"];\n var Data_MediaType_Common = PS[\"Data.MediaType.Common\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_File_Blob = PS[\"Web.File.Blob\"];\n var Web_XHR_FormData = PS[\"Web.XHR.FormData\"]; \n var ArrayView = (function () {\n function ArrayView(value0) {\n this.value0 = value0;\n };\n ArrayView.create = function (value0) {\n return new ArrayView(value0);\n };\n return ArrayView;\n })();\n var Blob = (function () {\n function Blob(value0) {\n this.value0 = value0;\n };\n Blob.create = function (value0) {\n return new Blob(value0);\n };\n return Blob;\n })();\n var Document = (function () {\n function Document(value0) {\n this.value0 = value0;\n };\n Document.create = function (value0) {\n return new Document(value0);\n };\n return Document;\n })();\n var $$String = (function () {\n function $$String(value0) {\n this.value0 = value0;\n };\n $$String.create = function (value0) {\n return new $$String(value0);\n };\n return $$String;\n })();\n var FormData = (function () {\n function FormData(value0) {\n this.value0 = value0;\n };\n FormData.create = function (value0) {\n return new FormData(value0);\n };\n return FormData;\n })();\n var FormURLEncoded = (function () {\n function FormURLEncoded(value0) {\n this.value0 = value0;\n };\n FormURLEncoded.create = function (value0) {\n return new FormURLEncoded(value0);\n };\n return FormURLEncoded;\n })();\n var Json = (function () {\n function Json(value0) {\n this.value0 = value0;\n };\n Json.create = function (value0) {\n return new Json(value0);\n };\n return Json;\n })();\n var toMediaType = function (v) {\n if (v instanceof FormURLEncoded) {\n return new Data_Maybe.Just(Data_MediaType_Common.applicationFormURLEncoded);\n };\n if (v instanceof Json) {\n return new Data_Maybe.Just(Data_MediaType_Common.applicationJSON);\n };\n return Data_Maybe.Nothing.value;\n };\n var string = $$String.create;\n exports[\"ArrayView\"] = ArrayView;\n exports[\"Blob\"] = Blob;\n exports[\"Document\"] = Document;\n exports[\"String\"] = $$String;\n exports[\"FormData\"] = FormData;\n exports[\"FormURLEncoded\"] = FormURLEncoded;\n exports[\"Json\"] = Json;\n exports[\"string\"] = string;\n exports[\"toMediaType\"] = toMediaType;\n})(PS[\"Affjax.RequestBody\"] = PS[\"Affjax.RequestBody\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_MediaType = PS[\"Data.MediaType\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Prelude = PS[\"Prelude\"]; \n var Accept = (function () {\n function Accept(value0) {\n this.value0 = value0;\n };\n Accept.create = function (value0) {\n return new Accept(value0);\n };\n return Accept;\n })();\n var ContentType = (function () {\n function ContentType(value0) {\n this.value0 = value0;\n };\n ContentType.create = function (value0) {\n return new ContentType(value0);\n };\n return ContentType;\n })();\n var RequestHeader = (function () {\n function RequestHeader(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n RequestHeader.create = function (value0) {\n return function (value1) {\n return new RequestHeader(value0, value1);\n };\n };\n return RequestHeader;\n })();\n var value = function (v) {\n if (v instanceof Accept) {\n return Data_Newtype.unwrap(Data_MediaType.newtypeMediaType)(v.value0);\n };\n if (v instanceof ContentType) {\n return Data_Newtype.unwrap(Data_MediaType.newtypeMediaType)(v.value0);\n };\n if (v instanceof RequestHeader) {\n return v.value1;\n };\n throw new Error(\"Failed pattern match at Affjax.RequestHeader (line 26, column 1 - line 26, column 33): \" + [ v.constructor.name ]);\n }; \n var name = function (v) {\n if (v instanceof Accept) {\n return \"Accept\";\n };\n if (v instanceof ContentType) {\n return \"Content-Type\";\n };\n if (v instanceof RequestHeader) {\n return v.value0;\n };\n throw new Error(\"Failed pattern match at Affjax.RequestHeader (line 21, column 1 - line 21, column 32): \" + [ v.constructor.name ]);\n };\n exports[\"Accept\"] = Accept;\n exports[\"ContentType\"] = ContentType;\n exports[\"RequestHeader\"] = RequestHeader;\n exports[\"name\"] = name;\n exports[\"value\"] = value;\n})(PS[\"Affjax.RequestHeader\"] = PS[\"Affjax.RequestHeader\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unsafeToForeign = function (value) {\n return value;\n };\n\n exports.unsafeFromForeign = function (value) {\n return value;\n };\n\n exports.typeOf = function (value) {\n return typeof value;\n };\n\n exports.tagOf = function (value) {\n return Object.prototype.toString.call(value).slice(8, -1);\n };\n})(PS[\"Foreign\"] = PS[\"Foreign\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.error = function (msg) {\n return new Error(msg);\n };\n\n exports.throwException = function (e) {\n return function () {\n throw e;\n };\n };\n})(PS[\"Effect.Exception\"] = PS[\"Effect.Exception\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.Exception\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Show = PS[\"Data.Show\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var $$throw = function ($1) {\n return $foreign.throwException($foreign.error($1));\n };\n exports[\"throw\"] = $$throw;\n exports[\"error\"] = $foreign.error;\n exports[\"throwException\"] = $foreign.throwException;\n})(PS[\"Effect.Exception\"] = PS[\"Effect.Exception\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Prelude = PS[\"Prelude\"]; \n var MonadThrow = function (Monad0, throwError) {\n this.Monad0 = Monad0;\n this.throwError = throwError;\n };\n var MonadError = function (MonadThrow0, catchError) {\n this.MonadThrow0 = MonadThrow0;\n this.catchError = catchError;\n };\n var throwError = function (dict) {\n return dict.throwError;\n }; \n var catchError = function (dict) {\n return dict.catchError;\n };\n var $$try = function (dictMonadError) {\n return function (a) {\n return catchError(dictMonadError)(Data_Functor.map(((((dictMonadError.MonadThrow0()).Monad0()).Bind1()).Apply0()).Functor0())(Data_Either.Right.create)(a))(function ($21) {\n return Control_Applicative.pure(((dictMonadError.MonadThrow0()).Monad0()).Applicative0())(Data_Either.Left.create($21));\n });\n };\n };\n exports[\"catchError\"] = catchError;\n exports[\"throwError\"] = throwError;\n exports[\"MonadThrow\"] = MonadThrow;\n exports[\"MonadError\"] = MonadError;\n exports[\"try\"] = $$try;\n})(PS[\"Control.Monad.Error.Class\"] = PS[\"Control.Monad.Error.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"]; \n var MonadState = function (Monad0, state) {\n this.Monad0 = Monad0;\n this.state = state;\n };\n var state = function (dict) {\n return dict.state;\n };\n var modify_ = function (dictMonadState) {\n return function (f) {\n return state(dictMonadState)(function (s) {\n return new Data_Tuple.Tuple(Data_Unit.unit, f(s));\n });\n };\n };\n var modify = function (dictMonadState) {\n return function (f) {\n return state(dictMonadState)(function (s) {\n var s$prime = f(s);\n return new Data_Tuple.Tuple(s$prime, s$prime);\n });\n };\n };\n var gets = function (dictMonadState) {\n return function (f) {\n return state(dictMonadState)(function (s) {\n return new Data_Tuple.Tuple(f(s), s);\n });\n };\n };\n var get = function (dictMonadState) {\n return state(dictMonadState)(function (s) {\n return new Data_Tuple.Tuple(s, s);\n });\n };\n exports[\"state\"] = state;\n exports[\"MonadState\"] = MonadState;\n exports[\"get\"] = get;\n exports[\"gets\"] = gets;\n exports[\"modify\"] = modify;\n exports[\"modify_\"] = modify_;\n})(PS[\"Control.Monad.State.Class\"] = PS[\"Control.Monad.State.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Prelude = PS[\"Prelude\"]; \n var MonadTrans = function (lift) {\n this.lift = lift;\n };\n var lift = function (dict) {\n return dict.lift;\n };\n exports[\"lift\"] = lift;\n exports[\"MonadTrans\"] = MonadTrans;\n})(PS[\"Control.Monad.Trans.Class\"] = PS[\"Control.Monad.Trans.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Effect = PS[\"Effect\"]; \n var MonadEffect = function (Monad0, liftEffect) {\n this.Monad0 = Monad0;\n this.liftEffect = liftEffect;\n }; \n var liftEffect = function (dict) {\n return dict.liftEffect;\n };\n exports[\"liftEffect\"] = liftEffect;\n exports[\"MonadEffect\"] = MonadEffect;\n})(PS[\"Effect.Class\"] = PS[\"Effect.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Monad_Cont_Class = PS[\"Control.Monad.Cont.Class\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Reader_Class = PS[\"Control.Monad.Reader.Class\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Monad_Writer_Class = PS[\"Control.Monad.Writer.Class\"];\n var Control_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Prelude = PS[\"Prelude\"]; \n var ExceptT = function (x) {\n return x;\n };\n var runExceptT = function (v) {\n return v;\n }; \n var mapExceptT = function (f) {\n return function (v) {\n return f(v);\n };\n };\n var functorExceptT = function (dictFunctor) {\n return new Data_Functor.Functor(function (f) {\n return mapExceptT(Data_Functor.map(dictFunctor)(Data_Functor.map(Data_Either.functorEither)(f)));\n });\n };\n var monadExceptT = function (dictMonad) {\n return new Control_Monad.Monad(function () {\n return applicativeExceptT(dictMonad);\n }, function () {\n return bindExceptT(dictMonad);\n });\n };\n var bindExceptT = function (dictMonad) {\n return new Control_Bind.Bind(function () {\n return applyExceptT(dictMonad);\n }, function (v) {\n return function (k) {\n return Control_Bind.bind(dictMonad.Bind1())(v)(Data_Either.either(function ($97) {\n return Control_Applicative.pure(dictMonad.Applicative0())(Data_Either.Left.create($97));\n })(function (a) {\n var v1 = k(a);\n return v1;\n }));\n };\n });\n };\n var applyExceptT = function (dictMonad) {\n return new Control_Apply.Apply(function () {\n return functorExceptT(((dictMonad.Bind1()).Apply0()).Functor0());\n }, Control_Monad.ap(monadExceptT(dictMonad)));\n };\n var applicativeExceptT = function (dictMonad) {\n return new Control_Applicative.Applicative(function () {\n return applyExceptT(dictMonad);\n }, function ($98) {\n return ExceptT(Control_Applicative.pure(dictMonad.Applicative0())(Data_Either.Right.create($98)));\n });\n };\n var monadThrowExceptT = function (dictMonad) {\n return new Control_Monad_Error_Class.MonadThrow(function () {\n return monadExceptT(dictMonad);\n }, function ($102) {\n return ExceptT(Control_Applicative.pure(dictMonad.Applicative0())(Data_Either.Left.create($102)));\n });\n };\n exports[\"ExceptT\"] = ExceptT;\n exports[\"runExceptT\"] = runExceptT;\n exports[\"mapExceptT\"] = mapExceptT;\n exports[\"functorExceptT\"] = functorExceptT;\n exports[\"applyExceptT\"] = applyExceptT;\n exports[\"applicativeExceptT\"] = applicativeExceptT;\n exports[\"bindExceptT\"] = bindExceptT;\n exports[\"monadExceptT\"] = monadExceptT;\n exports[\"monadThrowExceptT\"] = monadThrowExceptT;\n})(PS[\"Control.Monad.Except.Trans\"] = PS[\"Control.Monad.Except.Trans\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Prelude = PS[\"Prelude\"]; \n var runExcept = function ($0) {\n return Data_Newtype.unwrap(Data_Identity.newtypeIdentity)(Control_Monad_Except_Trans.runExceptT($0));\n };\n exports[\"runExcept\"] = runExcept;\n})(PS[\"Control.Monad.Except\"] = PS[\"Control.Monad.Except\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Prelude = PS[\"Prelude\"]; \n var NonEmpty = (function () {\n function NonEmpty(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n NonEmpty.create = function (value0) {\n return function (value1) {\n return new NonEmpty(value0, value1);\n };\n };\n return NonEmpty;\n })();\n var singleton = function (dictPlus) {\n return function (a) {\n return new NonEmpty(a, Control_Plus.empty(dictPlus));\n };\n };\n exports[\"NonEmpty\"] = NonEmpty;\n exports[\"singleton\"] = singleton;\n})(PS[\"Data.NonEmpty\"] = PS[\"Data.NonEmpty\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Comonad = PS[\"Control.Comonad\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_NonEmpty = PS[\"Data.NonEmpty\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Prelude = PS[\"Prelude\"]; \n var Nil = (function () {\n function Nil() {\n\n };\n Nil.value = new Nil();\n return Nil;\n })();\n var Cons = (function () {\n function Cons(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Cons.create = function (value0) {\n return function (value1) {\n return new Cons(value0, value1);\n };\n };\n return Cons;\n })();\n var NonEmptyList = function (x) {\n return x;\n };\n var foldableList = new Data_Foldable.Foldable(function (dictMonoid) {\n return function (f) {\n return Data_Foldable.foldl(foldableList)(function (acc) {\n return function ($174) {\n return Data_Semigroup.append(dictMonoid.Semigroup0())(acc)(f($174));\n };\n })(Data_Monoid.mempty(dictMonoid));\n };\n }, function (f) {\n var go = function ($copy_b) {\n return function ($copy_v) {\n var $tco_var_b = $copy_b;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(b, v) {\n if (v instanceof Nil) {\n $tco_done = true;\n return b;\n };\n if (v instanceof Cons) {\n $tco_var_b = f(b)(v.value0);\n $copy_v = v.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.List.Types (line 81, column 12 - line 83, column 30): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_b, $copy_v);\n };\n return $tco_result;\n };\n };\n return go;\n }, function (f) {\n return function (b) {\n var rev = Data_Foldable.foldl(foldableList)(Data_Function.flip(Cons.create))(Nil.value);\n return function ($175) {\n return Data_Foldable.foldl(foldableList)(Data_Function.flip(f))(b)(rev($175));\n };\n };\n });\n var functorList = new Data_Functor.Functor(function (f) {\n return Data_Foldable.foldr(foldableList)(function (x) {\n return function (acc) {\n return new Cons(f(x), acc);\n };\n })(Nil.value);\n });\n var semigroupList = new Data_Semigroup.Semigroup(function (xs) {\n return function (ys) {\n return Data_Foldable.foldr(foldableList)(Cons.create)(ys)(xs);\n };\n });\n var applyList = new Control_Apply.Apply(function () {\n return functorList;\n }, function (v) {\n return function (v1) {\n if (v instanceof Nil) {\n return Nil.value;\n };\n if (v instanceof Cons) {\n return Data_Semigroup.append(semigroupList)(Data_Functor.map(functorList)(v.value0)(v1))(Control_Apply.apply(applyList)(v.value1)(v1));\n };\n throw new Error(\"Failed pattern match at Data.List.Types (line 127, column 1 - line 127, column 33): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n var applicativeList = new Control_Applicative.Applicative(function () {\n return applyList;\n }, function (a) {\n return new Cons(a, Nil.value);\n }); \n var altList = new Control_Alt.Alt(function () {\n return functorList;\n }, Data_Semigroup.append(semigroupList));\n var plusList = new Control_Plus.Plus(function () {\n return altList;\n }, Nil.value);\n exports[\"Nil\"] = Nil;\n exports[\"Cons\"] = Cons;\n exports[\"NonEmptyList\"] = NonEmptyList;\n exports[\"semigroupList\"] = semigroupList;\n exports[\"functorList\"] = functorList;\n exports[\"foldableList\"] = foldableList;\n exports[\"applyList\"] = applyList;\n exports[\"applicativeList\"] = applicativeList;\n exports[\"altList\"] = altList;\n exports[\"plusList\"] = plusList;\n})(PS[\"Data.List.Types\"] = PS[\"Data.List.Types\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Lazy = PS[\"Control.Lazy\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_NonEmpty = PS[\"Data.NonEmpty\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"];\n var reverse = (function () {\n var go = function ($copy_acc) {\n return function ($copy_v) {\n var $tco_var_acc = $copy_acc;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(acc, v) {\n if (v instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return acc;\n };\n if (v instanceof Data_List_Types.Cons) {\n $tco_var_acc = new Data_List_Types.Cons(v.value0, acc);\n $copy_v = v.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.List (line 368, column 3 - line 368, column 19): \" + [ acc.constructor.name, v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_acc, $copy_v);\n };\n return $tco_result;\n };\n };\n return go(Data_List_Types.Nil.value);\n })();\n var $$null = function (v) {\n if (v instanceof Data_List_Types.Nil) {\n return true;\n };\n return false;\n };\n exports[\"null\"] = $$null;\n exports[\"reverse\"] = reverse;\n})(PS[\"Data.List\"] = PS[\"Data.List\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_NonEmpty = PS[\"Data.NonEmpty\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var singleton = function ($165) {\n return Data_List_Types.NonEmptyList(Data_NonEmpty.singleton(Data_List_Types.plusList)($165));\n };\n var head = function (v) {\n return v.value0;\n };\n var cons = function (y) {\n return function (v) {\n return new Data_NonEmpty.NonEmpty(y, new Data_List_Types.Cons(v.value0, v.value1));\n };\n };\n exports[\"singleton\"] = singleton;\n exports[\"cons\"] = cons;\n exports[\"head\"] = head;\n})(PS[\"Data.List.NonEmpty\"] = PS[\"Data.List.NonEmpty\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.singleton = function (c) {\n return c;\n };\n\n exports.length = function (s) {\n return s.length;\n };\n\n exports.drop = function (n) {\n return function (s) {\n return s.substring(n);\n };\n };\n})(PS[\"Data.String.CodeUnits\"] = PS[\"Data.String.CodeUnits\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.charAt = function (i) {\n return function (s) {\n if (i >= 0 && i < s.length) return s.charAt(i);\n throw new Error(\"Data.String.Unsafe.charAt: Invalid index.\");\n };\n };\n})(PS[\"Data.String.Unsafe\"] = PS[\"Data.String.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.String.Unsafe\"];\n exports[\"charAt\"] = $foreign.charAt;\n})(PS[\"Data.String.Unsafe\"] = PS[\"Data.String.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.String.CodeUnits\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_String_Unsafe = PS[\"Data.String.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n exports[\"singleton\"] = $foreign.singleton;\n exports[\"length\"] = $foreign.length;\n exports[\"drop\"] = $foreign.drop;\n})(PS[\"Data.String.CodeUnits\"] = PS[\"Data.String.CodeUnits\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Foreign\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Except = PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_Int = PS[\"Data.Int\"];\n var Data_List_NonEmpty = PS[\"Data.List.NonEmpty\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String_CodeUnits = PS[\"Data.String.CodeUnits\"];\n var Prelude = PS[\"Prelude\"]; \n var ForeignError = (function () {\n function ForeignError(value0) {\n this.value0 = value0;\n };\n ForeignError.create = function (value0) {\n return new ForeignError(value0);\n };\n return ForeignError;\n })();\n var TypeMismatch = (function () {\n function TypeMismatch(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n TypeMismatch.create = function (value0) {\n return function (value1) {\n return new TypeMismatch(value0, value1);\n };\n };\n return TypeMismatch;\n })();\n var fail = function ($107) {\n return Control_Monad_Error_Class.throwError(Control_Monad_Except_Trans.monadThrowExceptT(Data_Identity.monadIdentity))(Data_List_NonEmpty.singleton($107));\n };\n var unsafeReadTagged = function (tag) {\n return function (value) {\n if ($foreign.tagOf(value) === tag) {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))($foreign.unsafeFromForeign(value));\n };\n if (Data_Boolean.otherwise) {\n return fail(new TypeMismatch(tag, $foreign.tagOf(value)));\n };\n throw new Error(\"Failed pattern match at Foreign (line 106, column 1 - line 106, column 55): \" + [ tag.constructor.name, value.constructor.name ]);\n };\n };\n var readBoolean = unsafeReadTagged(\"Boolean\");\n var readString = unsafeReadTagged(\"String\");\n exports[\"ForeignError\"] = ForeignError;\n exports[\"TypeMismatch\"] = TypeMismatch;\n exports[\"unsafeReadTagged\"] = unsafeReadTagged;\n exports[\"readString\"] = readString;\n exports[\"readBoolean\"] = readBoolean;\n exports[\"fail\"] = fail;\n exports[\"unsafeToForeign\"] = $foreign.unsafeToForeign;\n exports[\"typeOf\"] = $foreign.typeOf;\n})(PS[\"Foreign\"] = PS[\"Foreign\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Data_Argonaut_Core = PS[\"Data.Argonaut.Core\"];\n var Data_ArrayBuffer_Types = PS[\"Data.ArrayBuffer.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_MediaType = PS[\"Data.MediaType\"];\n var Data_MediaType_Common = PS[\"Data.MediaType.Common\"];\n var Foreign = PS[\"Foreign\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_File_Blob = PS[\"Web.File.Blob\"]; \n var ResponseFormatError = (function () {\n function ResponseFormatError(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n ResponseFormatError.create = function (value0) {\n return function (value1) {\n return new ResponseFormatError(value0, value1);\n };\n };\n return ResponseFormatError;\n })();\n var $$ArrayBuffer = (function () {\n function $$ArrayBuffer(value0) {\n this.value0 = value0;\n };\n $$ArrayBuffer.create = function (value0) {\n return new $$ArrayBuffer(value0);\n };\n return $$ArrayBuffer;\n })();\n var Blob = (function () {\n function Blob(value0) {\n this.value0 = value0;\n };\n Blob.create = function (value0) {\n return new Blob(value0);\n };\n return Blob;\n })();\n var Document = (function () {\n function Document(value0) {\n this.value0 = value0;\n };\n Document.create = function (value0) {\n return new Document(value0);\n };\n return Document;\n })();\n var Json = (function () {\n function Json(value0) {\n this.value0 = value0;\n };\n Json.create = function (value0) {\n return new Json(value0);\n };\n return Json;\n })();\n var $$String = (function () {\n function $$String(value0) {\n this.value0 = value0;\n };\n $$String.create = function (value0) {\n return new $$String(value0);\n };\n return $$String;\n })();\n var Ignore = (function () {\n function Ignore(value0) {\n this.value0 = value0;\n };\n Ignore.create = function (value0) {\n return new Ignore(value0);\n };\n return Ignore;\n })();\n var toResponseType = function (v) {\n if (v instanceof $$ArrayBuffer) {\n return \"arraybuffer\";\n };\n if (v instanceof Blob) {\n return \"blob\";\n };\n if (v instanceof Document) {\n return \"document\";\n };\n if (v instanceof Json) {\n return \"text\";\n };\n if (v instanceof $$String) {\n return \"text\";\n };\n if (v instanceof Ignore) {\n return \"\";\n };\n throw new Error(\"Failed pattern match at Affjax.ResponseFormat (line 46, column 3 - line 54, column 1): \" + [ v.constructor.name ]);\n };\n var toMediaType = function (v) {\n if (v instanceof Json) {\n return new Data_Maybe.Just(Data_MediaType_Common.applicationJSON);\n };\n return Data_Maybe.Nothing.value;\n };\n var json = new Json(Control_Category.identity(Control_Category.categoryFn));\n var ignore = new Ignore(Control_Category.identity(Control_Category.categoryFn));\n exports[\"ArrayBuffer\"] = $$ArrayBuffer;\n exports[\"Blob\"] = Blob;\n exports[\"Document\"] = Document;\n exports[\"Json\"] = Json;\n exports[\"String\"] = $$String;\n exports[\"Ignore\"] = Ignore;\n exports[\"json\"] = json;\n exports[\"ignore\"] = ignore;\n exports[\"toResponseType\"] = toResponseType;\n exports[\"toMediaType\"] = toMediaType;\n exports[\"ResponseFormatError\"] = ResponseFormatError;\n})(PS[\"Affjax.ResponseFormat\"] = PS[\"Affjax.ResponseFormat\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Prelude = PS[\"Prelude\"]; \n var ResponseHeader = (function () {\n function ResponseHeader(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n ResponseHeader.create = function (value0) {\n return function (value1) {\n return new ResponseHeader(value0, value1);\n };\n };\n return ResponseHeader;\n })();\n exports[\"ResponseHeader\"] = ResponseHeader;\n})(PS[\"Affjax.ResponseHeader\"] = PS[\"Affjax.ResponseHeader\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Cont_Trans = PS[\"Control.Monad.Cont.Trans\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Monad_Maybe_Trans = PS[\"Control.Monad.Maybe.Trans\"];\n var Control_Monad_Reader_Trans = PS[\"Control.Monad.Reader.Trans\"];\n var Control_Monad_Writer_Trans = PS[\"Control.Monad.Writer.Trans\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Compose = PS[\"Data.Functor.Compose\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Prelude = PS[\"Prelude\"];\n var Parallel = function (Applicative1, Monad0, parallel, sequential) {\n this.Applicative1 = Applicative1;\n this.Monad0 = Monad0;\n this.parallel = parallel;\n this.sequential = sequential;\n };\n var sequential = function (dict) {\n return dict.sequential;\n };\n var parallel = function (dict) {\n return dict.parallel;\n };\n exports[\"parallel\"] = parallel;\n exports[\"sequential\"] = sequential;\n exports[\"Parallel\"] = Parallel;\n})(PS[\"Control.Parallel.Class\"] = PS[\"Control.Parallel.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Parallel_Class = PS[\"Control.Parallel.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Prelude = PS[\"Prelude\"]; \n var parTraverse_ = function (dictParallel) {\n return function (dictFoldable) {\n return function (f) {\n return function ($17) {\n return Control_Parallel_Class.sequential(dictParallel)(Data_Foldable.traverse_(dictParallel.Applicative1())(dictFoldable)(function ($18) {\n return Control_Parallel_Class.parallel(dictParallel)(f($18));\n })($17));\n };\n };\n };\n };\n var parSequence_ = function (dictParallel) {\n return function (dictFoldable) {\n return parTraverse_(dictParallel)(dictFoldable)(Control_Category.identity(Control_Category.categoryFn));\n };\n };\n exports[\"parTraverse_\"] = parTraverse_;\n exports[\"parSequence_\"] = parSequence_;\n})(PS[\"Control.Parallel\"] = PS[\"Control.Parallel\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports._jsonParser = function (fail, succ, s) {\n try {\n return succ(JSON.parse(s));\n }\n catch (e) {\n return fail(e.message);\n }\n };\n})(PS[\"Data.Argonaut.Parser\"] = PS[\"Data.Argonaut.Parser\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Argonaut.Parser\"];\n var Data_Argonaut_Core = PS[\"Data.Argonaut.Core\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"]; \n var jsonParser = function (j) {\n return $foreign[\"_jsonParser\"](Data_Either.Left.create, Data_Either.Right.create, j);\n };\n exports[\"jsonParser\"] = jsonParser;\n})(PS[\"Data.Argonaut.Parser\"] = PS[\"Data.Argonaut.Parser\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Prelude = PS[\"Prelude\"]; \n var OPTIONS = (function () {\n function OPTIONS() {\n\n };\n OPTIONS.value = new OPTIONS();\n return OPTIONS;\n })();\n var GET = (function () {\n function GET() {\n\n };\n GET.value = new GET();\n return GET;\n })();\n var HEAD = (function () {\n function HEAD() {\n\n };\n HEAD.value = new HEAD();\n return HEAD;\n })();\n var POST = (function () {\n function POST() {\n\n };\n POST.value = new POST();\n return POST;\n })();\n var PUT = (function () {\n function PUT() {\n\n };\n PUT.value = new PUT();\n return PUT;\n })();\n var DELETE = (function () {\n function DELETE() {\n\n };\n DELETE.value = new DELETE();\n return DELETE;\n })();\n var TRACE = (function () {\n function TRACE() {\n\n };\n TRACE.value = new TRACE();\n return TRACE;\n })();\n var CONNECT = (function () {\n function CONNECT() {\n\n };\n CONNECT.value = new CONNECT();\n return CONNECT;\n })();\n var PROPFIND = (function () {\n function PROPFIND() {\n\n };\n PROPFIND.value = new PROPFIND();\n return PROPFIND;\n })();\n var PROPPATCH = (function () {\n function PROPPATCH() {\n\n };\n PROPPATCH.value = new PROPPATCH();\n return PROPPATCH;\n })();\n var MKCOL = (function () {\n function MKCOL() {\n\n };\n MKCOL.value = new MKCOL();\n return MKCOL;\n })();\n var COPY = (function () {\n function COPY() {\n\n };\n COPY.value = new COPY();\n return COPY;\n })();\n var MOVE = (function () {\n function MOVE() {\n\n };\n MOVE.value = new MOVE();\n return MOVE;\n })();\n var LOCK = (function () {\n function LOCK() {\n\n };\n LOCK.value = new LOCK();\n return LOCK;\n })();\n var UNLOCK = (function () {\n function UNLOCK() {\n\n };\n UNLOCK.value = new UNLOCK();\n return UNLOCK;\n })();\n var PATCH = (function () {\n function PATCH() {\n\n };\n PATCH.value = new PATCH();\n return PATCH;\n })();\n var unCustomMethod = function (v) {\n return v;\n };\n var showMethod = new Data_Show.Show(function (v) {\n if (v instanceof OPTIONS) {\n return \"OPTIONS\";\n };\n if (v instanceof GET) {\n return \"GET\";\n };\n if (v instanceof HEAD) {\n return \"HEAD\";\n };\n if (v instanceof POST) {\n return \"POST\";\n };\n if (v instanceof PUT) {\n return \"PUT\";\n };\n if (v instanceof DELETE) {\n return \"DELETE\";\n };\n if (v instanceof TRACE) {\n return \"TRACE\";\n };\n if (v instanceof CONNECT) {\n return \"CONNECT\";\n };\n if (v instanceof PROPFIND) {\n return \"PROPFIND\";\n };\n if (v instanceof PROPPATCH) {\n return \"PROPPATCH\";\n };\n if (v instanceof MKCOL) {\n return \"MKCOL\";\n };\n if (v instanceof COPY) {\n return \"COPY\";\n };\n if (v instanceof MOVE) {\n return \"MOVE\";\n };\n if (v instanceof LOCK) {\n return \"LOCK\";\n };\n if (v instanceof UNLOCK) {\n return \"UNLOCK\";\n };\n if (v instanceof PATCH) {\n return \"PATCH\";\n };\n throw new Error(\"Failed pattern match at Data.HTTP.Method (line 40, column 1 - line 40, column 35): \" + [ v.constructor.name ]);\n });\n var print = Data_Either.either(Data_Show.show(showMethod))(unCustomMethod);\n exports[\"OPTIONS\"] = OPTIONS;\n exports[\"GET\"] = GET;\n exports[\"HEAD\"] = HEAD;\n exports[\"POST\"] = POST;\n exports[\"PUT\"] = PUT;\n exports[\"DELETE\"] = DELETE;\n exports[\"TRACE\"] = TRACE;\n exports[\"CONNECT\"] = CONNECT;\n exports[\"PROPFIND\"] = PROPFIND;\n exports[\"PROPPATCH\"] = PROPPATCH;\n exports[\"MKCOL\"] = MKCOL;\n exports[\"COPY\"] = COPY;\n exports[\"MOVE\"] = MOVE;\n exports[\"LOCK\"] = LOCK;\n exports[\"UNLOCK\"] = UNLOCK;\n exports[\"PATCH\"] = PATCH;\n exports[\"unCustomMethod\"] = unCustomMethod;\n exports[\"print\"] = print;\n exports[\"showMethod\"] = showMethod;\n})(PS[\"Data.HTTP.Method\"] = PS[\"Data.HTTP.Method\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports[\"null\"] = null;\n\n exports.nullable = function (a, r, f) {\n return a == null ? r : f(a);\n };\n\n exports.notNull = function (x) {\n return x;\n };\n})(PS[\"Data.Nullable\"] = PS[\"Data.Nullable\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Nullable\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Show = PS[\"Data.Show\"];\n var Prelude = PS[\"Prelude\"]; \n var toNullable = Data_Maybe.maybe($foreign[\"null\"])($foreign.notNull);\n var toMaybe = function (n) {\n return $foreign.nullable(n, Data_Maybe.Nothing.value, Data_Maybe.Just.create);\n };\n exports[\"toMaybe\"] = toMaybe;\n exports[\"toNullable\"] = toNullable;\n})(PS[\"Data.Nullable\"] = PS[\"Data.Nullable\"] || {});\n(function(exports) {\n /* globals setImmediate, clearImmediate, setTimeout, clearTimeout */\n /* jshint -W083, -W098, -W003 */\n \"use strict\";\n\n var Aff = function () {\n // A unique value for empty.\n var EMPTY = {};\n\n /*\n\n An awkward approximation. We elide evidence we would otherwise need in PS for\n efficiency sake.\n\n data Aff eff a\n = Pure a\n | Throw Error\n | Catch (Aff eff a) (Error -> Aff eff a)\n | Sync (Eff eff a)\n | Async ((Either Error a -> Eff eff Unit) -> Eff eff (Canceler eff))\n | forall b. Bind (Aff eff b) (b -> Aff eff a)\n | forall b. Bracket (Aff eff b) (BracketConditions eff b) (b -> Aff eff a)\n | forall b. Fork Boolean (Aff eff b) ?(Fiber eff b -> a)\n | Sequential (ParAff aff a)\n\n */ \n var PURE = \"Pure\";\n var THROW = \"Throw\";\n var CATCH = \"Catch\";\n var SYNC = \"Sync\";\n var ASYNC = \"Async\";\n var BIND = \"Bind\";\n var BRACKET = \"Bracket\";\n var FORK = \"Fork\";\n var SEQ = \"Sequential\";\n\n /*\n\n data ParAff eff a\n = forall b. Map (b -> a) (ParAff eff b)\n | forall b. Apply (ParAff eff (b -> a)) (ParAff eff b)\n | Alt (ParAff eff a) (ParAff eff a)\n | ?Par (Aff eff a)\n\n */ \n var MAP = \"Map\";\n var APPLY = \"Apply\";\n var ALT = \"Alt\";\n\n // Various constructors used in interpretation\n var CONS = \"Cons\"; // Cons-list, for stacks\n var RESUME = \"Resume\"; // Continue indiscriminately\n var RELEASE = \"Release\"; // Continue with bracket finalizers\n var FINALIZER = \"Finalizer\"; // A non-interruptible effect\n var FINALIZED = \"Finalized\"; // Marker for finalization\n var FORKED = \"Forked\"; // Reference to a forked fiber, with resumption stack\n var FIBER = \"Fiber\"; // Actual fiber reference\n var THUNK = \"Thunk\"; // Primed effect, ready to invoke\n\n function Aff(tag, _1, _2, _3) {\n this.tag = tag;\n this._1 = _1;\n this._2 = _2;\n this._3 = _3;\n }\n\n function AffCtr(tag) {\n var fn = function (_1, _2, _3) {\n return new Aff(tag, _1, _2, _3);\n };\n fn.tag = tag;\n return fn;\n }\n\n function nonCanceler(error) {\n return new Aff(PURE, void 0);\n }\n\n function runEff(eff) {\n try {\n eff();\n } catch (error) {\n setTimeout(function () {\n throw error;\n }, 0);\n }\n }\n\n function runSync(left, right, eff) {\n try {\n return right(eff());\n } catch (error) {\n return left(error);\n }\n }\n\n function runAsync(left, eff, k) {\n try {\n return eff(k)();\n } catch (error) {\n k(left(error))();\n return nonCanceler;\n }\n }\n\n var Scheduler = function () {\n var limit = 1024;\n var size = 0;\n var ix = 0;\n var queue = new Array(limit);\n var draining = false;\n\n function drain() {\n var thunk;\n draining = true;\n while (size !== 0) {\n size--;\n thunk = queue[ix];\n queue[ix] = void 0;\n ix = (ix + 1) % limit;\n thunk();\n }\n draining = false;\n }\n\n return {\n isDraining: function () {\n return draining;\n },\n enqueue: function (cb) {\n var i, tmp;\n if (size === limit) {\n tmp = draining;\n drain();\n draining = tmp;\n }\n\n queue[(ix + size) % limit] = cb;\n size++;\n\n if (!draining) {\n drain();\n }\n }\n };\n }();\n\n function Supervisor(util) {\n var fibers = {};\n var fiberId = 0;\n var count = 0;\n\n return {\n register: function (fiber) {\n var fid = fiberId++;\n fiber.onComplete({\n rethrow: true,\n handler: function (result) {\n return function () {\n count--;\n delete fibers[fid];\n };\n }\n });\n fibers[fid] = fiber;\n count++;\n },\n isEmpty: function () {\n return count === 0;\n },\n killAll: function (killError, cb) {\n return function () {\n var killCount = 0;\n var kills = {};\n\n function kill(fid) {\n kills[fid] = fibers[fid].kill(killError, function (result) {\n return function () {\n delete kills[fid];\n killCount--;\n if (util.isLeft(result) && util.fromLeft(result)) {\n setTimeout(function () {\n throw util.fromLeft(result);\n }, 0);\n }\n if (killCount === 0) {\n cb();\n }\n };\n })();\n }\n\n for (var k in fibers) {\n if (fibers.hasOwnProperty(k)) {\n killCount++;\n kill(k);\n }\n }\n\n fibers = {};\n fiberId = 0;\n count = 0;\n\n return function (error) {\n return new Aff(SYNC, function () {\n for (var k in kills) {\n if (kills.hasOwnProperty(k)) {\n kills[k]();\n }\n }\n });\n };\n };\n }\n };\n }\n\n // Fiber state machine\n var SUSPENDED = 0; // Suspended, pending a join.\n var CONTINUE = 1; // Interpret the next instruction.\n var STEP_BIND = 2; // Apply the next bind.\n var STEP_RESULT = 3; // Handle potential failure from a result.\n var PENDING = 4; // An async effect is running.\n var RETURN = 5; // The current stack has returned.\n var COMPLETED = 6; // The entire fiber has completed.\n\n function Fiber(util, supervisor, aff) {\n // Monotonically increasing tick, increased on each asynchronous turn.\n var runTick = 0;\n\n // The current branch of the state machine.\n var status = SUSPENDED;\n\n // The current point of interest for the state machine branch.\n var step = aff; // Successful step\n var fail = null; // Failure step\n var interrupt = null; // Asynchronous interrupt\n\n // Stack of continuations for the current fiber.\n var bhead = null;\n var btail = null;\n\n // Stack of attempts and finalizers for error recovery. Every `Cons` is also\n // tagged with current `interrupt` state. We use this to track which items\n // should be ignored or evaluated as a result of a kill.\n var attempts = null;\n\n // A special state is needed for Bracket, because it cannot be killed. When\n // we enter a bracket acquisition or finalizer, we increment the counter,\n // and then decrement once complete.\n var bracketCount = 0;\n\n // Each join gets a new id so they can be revoked.\n var joinId = 0;\n var joins = null;\n var rethrow = true;\n\n // Each invocation of `run` requires a tick. When an asynchronous effect is\n // resolved, we must check that the local tick coincides with the fiber\n // tick before resuming. This prevents multiple async continuations from\n // accidentally resuming the same fiber. A common example may be invoking\n // the provided callback in `makeAff` more than once, but it may also be an\n // async effect resuming after the fiber was already cancelled.\n function run(localRunTick) {\n var tmp, result, attempt;\n while (true) {\n tmp = null;\n result = null;\n attempt = null;\n\n switch (status) {\n case STEP_BIND:\n status = CONTINUE;\n step = bhead(step);\n if (btail === null) {\n bhead = null;\n } else {\n bhead = btail._1;\n btail = btail._2;\n }\n break;\n\n case STEP_RESULT:\n if (util.isLeft(step)) {\n status = RETURN;\n fail = step;\n step = null;\n } else if (bhead === null) {\n status = RETURN;\n } else {\n status = STEP_BIND;\n step = util.fromRight(step);\n }\n break;\n\n case CONTINUE:\n switch (step.tag) {\n case BIND:\n if (bhead) {\n btail = new Aff(CONS, bhead, btail);\n }\n bhead = step._2;\n status = CONTINUE;\n step = step._1;\n break;\n\n case PURE:\n if (bhead === null) {\n status = RETURN;\n step = util.right(step._1);\n } else {\n status = STEP_BIND;\n step = step._1;\n }\n break;\n\n case SYNC:\n status = STEP_RESULT;\n step = runSync(util.left, util.right, step._1);\n break;\n\n case ASYNC:\n status = PENDING;\n step = runAsync(util.left, step._1, function (result) {\n return function () {\n if (runTick !== localRunTick) {\n return;\n }\n runTick++;\n Scheduler.enqueue(function () {\n // It's possible to interrupt the fiber between enqueuing and\n // resuming, so we need to check that the runTick is still\n // valid.\n if (runTick !== localRunTick + 1) {\n return;\n }\n status = STEP_RESULT;\n step = result;\n run(runTick);\n });\n };\n });\n return;\n\n case THROW:\n status = RETURN;\n fail = util.left(step._1);\n step = null;\n break;\n\n // Enqueue the Catch so that we can call the error handler later on\n // in case of an exception.\n case CATCH:\n if (bhead === null) {\n attempts = new Aff(CONS, step, attempts, interrupt);\n } else {\n attempts = new Aff(CONS, step, new Aff(CONS, new Aff(RESUME, bhead, btail), attempts, interrupt), interrupt);\n }\n bhead = null;\n btail = null;\n status = CONTINUE;\n step = step._1;\n break;\n\n // Enqueue the Bracket so that we can call the appropriate handlers\n // after resource acquisition.\n case BRACKET:\n bracketCount++;\n if (bhead === null) {\n attempts = new Aff(CONS, step, attempts, interrupt);\n } else {\n attempts = new Aff(CONS, step, new Aff(CONS, new Aff(RESUME, bhead, btail), attempts, interrupt), interrupt);\n }\n bhead = null;\n btail = null;\n status = CONTINUE;\n step = step._1;\n break;\n\n case FORK:\n status = STEP_RESULT;\n tmp = Fiber(util, supervisor, step._2);\n if (supervisor) {\n supervisor.register(tmp);\n }\n if (step._1) {\n tmp.run();\n }\n step = util.right(tmp);\n break;\n\n case SEQ:\n status = CONTINUE;\n step = sequential(util, supervisor, step._1);\n break;\n }\n break;\n\n case RETURN:\n bhead = null;\n btail = null;\n // If the current stack has returned, and we have no other stacks to\n // resume or finalizers to run, the fiber has halted and we can\n // invoke all join callbacks. Otherwise we need to resume.\n if (attempts === null) {\n status = COMPLETED;\n step = interrupt || fail || step;\n } else {\n // The interrupt status for the enqueued item.\n tmp = attempts._3;\n attempt = attempts._1;\n attempts = attempts._2;\n\n switch (attempt.tag) {\n // We cannot recover from an interrupt. Otherwise we should\n // continue stepping, or run the exception handler if an exception\n // was raised.\n case CATCH:\n // We should compare the interrupt status as well because we\n // only want it to apply if there has been an interrupt since\n // enqueuing the catch.\n if (interrupt && interrupt !== tmp) {\n status = RETURN;\n } else if (fail) {\n status = CONTINUE;\n step = attempt._2(util.fromLeft(fail));\n fail = null;\n }\n break;\n\n // We cannot resume from an interrupt or exception.\n case RESUME:\n // As with Catch, we only want to ignore in the case of an\n // interrupt since enqueing the item.\n if (interrupt && interrupt !== tmp || fail) {\n status = RETURN;\n } else {\n bhead = attempt._1;\n btail = attempt._2;\n status = STEP_BIND;\n step = util.fromRight(step);\n }\n break;\n\n // If we have a bracket, we should enqueue the handlers,\n // and continue with the success branch only if the fiber has\n // not been interrupted. If the bracket acquisition failed, we\n // should not run either.\n case BRACKET:\n bracketCount--;\n if (fail === null) {\n result = util.fromRight(step);\n // We need to enqueue the Release with the same interrupt\n // status as the Bracket that is initiating it.\n attempts = new Aff(CONS, new Aff(RELEASE, attempt._2, result), attempts, tmp);\n // We should only coninue as long as the interrupt status has not changed or\n // we are currently within a non-interruptable finalizer.\n if (interrupt === tmp || bracketCount > 0) {\n status = CONTINUE;\n step = attempt._3(result);\n }\n }\n break;\n\n // Enqueue the appropriate handler. We increase the bracket count\n // because it should not be cancelled.\n case RELEASE:\n bracketCount++;\n attempts = new Aff(CONS, new Aff(FINALIZED, step, fail), attempts, interrupt);\n status = CONTINUE;\n // It has only been killed if the interrupt status has changed\n // since we enqueued the item.\n if (interrupt && interrupt !== tmp) {\n step = attempt._1.killed(util.fromLeft(interrupt))(attempt._2);\n } else if (fail) {\n step = attempt._1.failed(util.fromLeft(fail))(attempt._2);\n } else {\n step = attempt._1.completed(util.fromRight(step))(attempt._2);\n }\n fail = null;\n break;\n\n case FINALIZER:\n bracketCount++;\n attempts = new Aff(CONS, new Aff(FINALIZED, step, fail), attempts, interrupt);\n status = CONTINUE;\n step = attempt._1;\n break;\n\n case FINALIZED:\n bracketCount--;\n status = RETURN;\n step = attempt._1;\n fail = attempt._2;\n break;\n }\n }\n break;\n\n case COMPLETED:\n for (var k in joins) {\n if (joins.hasOwnProperty(k)) {\n rethrow = rethrow && joins[k].rethrow;\n runEff(joins[k].handler(step));\n }\n }\n joins = null;\n // If we have an interrupt and a fail, then the thread threw while\n // running finalizers. This should always rethrow in a fresh stack.\n if (interrupt && fail) {\n setTimeout(function () {\n throw util.fromLeft(fail);\n }, 0);\n // If we have an unhandled exception, and no other fiber has joined\n // then we need to throw the exception in a fresh stack.\n } else if (util.isLeft(step) && rethrow) {\n setTimeout(function () {\n // Guard on reathrow because a completely synchronous fiber can\n // still have an observer which was added after-the-fact.\n if (rethrow) {\n throw util.fromLeft(step);\n }\n }, 0);\n }\n return;\n case SUSPENDED:\n status = CONTINUE;\n break;\n case PENDING: return;\n }\n }\n }\n\n function onComplete(join) {\n return function () {\n if (status === COMPLETED) {\n rethrow = rethrow && join.rethrow;\n join.handler(step)();\n return function () {};\n }\n\n var jid = joinId++;\n joins = joins || {};\n joins[jid] = join;\n\n return function() {\n if (joins !== null) {\n delete joins[jid];\n }\n };\n };\n }\n\n function kill(error, cb) {\n return function () {\n if (status === COMPLETED) {\n cb(util.right(void 0))();\n return function () {};\n }\n\n var canceler = onComplete({\n rethrow: false,\n handler: function (/* unused */) {\n return cb(util.right(void 0));\n }\n })();\n\n switch (status) {\n case SUSPENDED:\n interrupt = util.left(error);\n status = COMPLETED;\n step = interrupt;\n run(runTick);\n break;\n case PENDING:\n if (interrupt === null) {\n interrupt = util.left(error);\n }\n if (bracketCount === 0) {\n if (status === PENDING) {\n attempts = new Aff(CONS, new Aff(FINALIZER, step(error)), attempts, interrupt);\n }\n status = RETURN;\n step = null;\n fail = null;\n run(++runTick);\n }\n break;\n default:\n if (interrupt === null) {\n interrupt = util.left(error);\n }\n if (bracketCount === 0) {\n status = RETURN;\n step = null;\n fail = null;\n }\n }\n\n return canceler;\n };\n }\n\n function join(cb) {\n return function () {\n var canceler = onComplete({\n rethrow: false,\n handler: cb\n })();\n if (status === SUSPENDED) {\n run(runTick);\n }\n return canceler;\n };\n }\n\n return {\n kill: kill,\n join: join,\n onComplete: onComplete,\n isSuspended: function () {\n return status === SUSPENDED;\n },\n run: function () {\n if (status === SUSPENDED) {\n if (!Scheduler.isDraining()) {\n Scheduler.enqueue(function () {\n run(runTick);\n });\n } else {\n run(runTick);\n }\n }\n }\n };\n }\n\n function runPar(util, supervisor, par, cb) {\n // Table of all forked fibers.\n var fiberId = 0;\n var fibers = {};\n\n // Table of currently running cancelers, as a product of `Alt` behavior.\n var killId = 0;\n var kills = {};\n\n // Error used for early cancelation on Alt branches.\n var early = new Error(\"[ParAff] Early exit\");\n\n // Error used to kill the entire tree.\n var interrupt = null;\n\n // The root pointer of the tree.\n var root = EMPTY;\n\n // Walks a tree, invoking all the cancelers. Returns the table of pending\n // cancellation fibers.\n function kill(error, par, cb) {\n var step = par;\n var head = null;\n var tail = null;\n var count = 0;\n var kills = {};\n var tmp, kid;\n\n loop: while (true) {\n tmp = null;\n\n switch (step.tag) {\n case FORKED:\n if (step._3 === EMPTY) {\n tmp = fibers[step._1];\n kills[count++] = tmp.kill(error, function (result) {\n return function () {\n count--;\n if (count === 0) {\n cb(result)();\n }\n };\n });\n }\n // Terminal case.\n if (head === null) {\n break loop;\n }\n // Go down the right side of the tree.\n step = head._2;\n if (tail === null) {\n head = null;\n } else {\n head = tail._1;\n tail = tail._2;\n }\n break;\n case MAP:\n step = step._2;\n break;\n case APPLY:\n case ALT:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = step;\n step = step._1;\n break;\n }\n }\n\n if (count === 0) {\n cb(util.right(void 0))();\n } else {\n // Run the cancelation effects. We alias `count` because it's mutable.\n kid = 0;\n tmp = count;\n for (; kid < tmp; kid++) {\n kills[kid] = kills[kid]();\n }\n }\n\n return kills;\n }\n\n // When a fiber resolves, we need to bubble back up the tree with the\n // result, computing the applicative nodes.\n function join(result, head, tail) {\n var fail, step, lhs, rhs, tmp, kid;\n\n if (util.isLeft(result)) {\n fail = result;\n step = null;\n } else {\n step = result;\n fail = null;\n }\n\n loop: while (true) {\n lhs = null;\n rhs = null;\n tmp = null;\n kid = null;\n\n // We should never continue if the entire tree has been interrupted.\n if (interrupt !== null) {\n return;\n }\n\n // We've made it all the way to the root of the tree, which means\n // the tree has fully evaluated.\n if (head === null) {\n cb(fail || step)();\n return;\n }\n\n // The tree has already been computed, so we shouldn't try to do it\n // again. This should never happen.\n // TODO: Remove this?\n if (head._3 !== EMPTY) {\n return;\n }\n\n switch (head.tag) {\n case MAP:\n if (fail === null) {\n head._3 = util.right(head._1(util.fromRight(step)));\n step = head._3;\n } else {\n head._3 = fail;\n }\n break;\n case APPLY:\n lhs = head._1._3;\n rhs = head._2._3;\n // If we have a failure we should kill the other side because we\n // can't possible yield a result anymore.\n if (fail) {\n head._3 = fail;\n tmp = true;\n kid = killId++;\n\n kills[kid] = kill(early, fail === lhs ? head._2 : head._1, function (/* unused */) {\n return function () {\n delete kills[kid];\n if (tmp) {\n tmp = false;\n } else if (tail === null) {\n join(fail, null, null);\n } else {\n join(fail, tail._1, tail._2);\n }\n };\n });\n\n if (tmp) {\n tmp = false;\n return;\n }\n } else if (lhs === EMPTY || rhs === EMPTY) {\n // We can only proceed if both sides have resolved.\n return;\n } else {\n step = util.right(util.fromRight(lhs)(util.fromRight(rhs)));\n head._3 = step;\n }\n break;\n case ALT:\n lhs = head._1._3;\n rhs = head._2._3;\n // We can only proceed if both have resolved or we have a success\n if (lhs === EMPTY && util.isLeft(rhs) || rhs === EMPTY && util.isLeft(lhs)) {\n return;\n }\n // If both sides resolve with an error, we should continue with the\n // first error\n if (lhs !== EMPTY && util.isLeft(lhs) && rhs !== EMPTY && util.isLeft(rhs)) {\n fail = step === lhs ? rhs : lhs;\n step = null;\n head._3 = fail;\n } else {\n head._3 = step;\n tmp = true;\n kid = killId++;\n // Once a side has resolved, we need to cancel the side that is still\n // pending before we can continue.\n kills[kid] = kill(early, step === lhs ? head._2 : head._1, function (/* unused */) {\n return function () {\n delete kills[kid];\n if (tmp) {\n tmp = false;\n } else if (tail === null) {\n join(step, null, null);\n } else {\n join(step, tail._1, tail._2);\n }\n };\n });\n\n if (tmp) {\n tmp = false;\n return;\n }\n }\n break;\n }\n\n if (tail === null) {\n head = null;\n } else {\n head = tail._1;\n tail = tail._2;\n }\n }\n }\n\n function resolve(fiber) {\n return function (result) {\n return function () {\n delete fibers[fiber._1];\n fiber._3 = result;\n join(result, fiber._2._1, fiber._2._2);\n };\n };\n }\n\n // Walks the applicative tree, substituting non-applicative nodes with\n // `FORKED` nodes. In this tree, all applicative nodes use the `_3` slot\n // as a mutable slot for memoization. In an unresolved state, the `_3`\n // slot is `EMPTY`. In the cases of `ALT` and `APPLY`, we always walk\n // the left side first, because both operations are left-associative. As\n // we `RETURN` from those branches, we then walk the right side.\n function run() {\n var status = CONTINUE;\n var step = par;\n var head = null;\n var tail = null;\n var tmp, fid;\n\n loop: while (true) {\n tmp = null;\n fid = null;\n\n switch (status) {\n case CONTINUE:\n switch (step.tag) {\n case MAP:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = new Aff(MAP, step._1, EMPTY, EMPTY);\n step = step._2;\n break;\n case APPLY:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = new Aff(APPLY, EMPTY, step._2, EMPTY);\n step = step._1;\n break;\n case ALT:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = new Aff(ALT, EMPTY, step._2, EMPTY);\n step = step._1;\n break;\n default:\n // When we hit a leaf value, we suspend the stack in the `FORKED`.\n // When the fiber resolves, it can bubble back up the tree.\n fid = fiberId++;\n status = RETURN;\n tmp = step;\n step = new Aff(FORKED, fid, new Aff(CONS, head, tail), EMPTY);\n tmp = Fiber(util, supervisor, tmp);\n tmp.onComplete({\n rethrow: false,\n handler: resolve(step)\n })();\n fibers[fid] = tmp;\n if (supervisor) {\n supervisor.register(tmp);\n }\n }\n break;\n case RETURN:\n // Terminal case, we are back at the root.\n if (head === null) {\n break loop;\n }\n // If we are done with the right side, we need to continue down the\n // left. Otherwise we should continue up the stack.\n if (head._1 === EMPTY) {\n head._1 = step;\n status = CONTINUE;\n step = head._2;\n head._2 = EMPTY;\n } else {\n head._2 = step;\n step = head;\n if (tail === null) {\n head = null;\n } else {\n head = tail._1;\n tail = tail._2;\n }\n }\n }\n }\n\n // Keep a reference to the tree root so it can be cancelled.\n root = step;\n\n for (fid = 0; fid < fiberId; fid++) {\n fibers[fid].run();\n }\n }\n\n // Cancels the entire tree. If there are already subtrees being canceled,\n // we need to first cancel those joins. We will then add fresh joins for\n // all pending branches including those that were in the process of being\n // canceled.\n function cancel(error, cb) {\n interrupt = util.left(error);\n var innerKills;\n for (var kid in kills) {\n if (kills.hasOwnProperty(kid)) {\n innerKills = kills[kid];\n for (kid in innerKills) {\n if (innerKills.hasOwnProperty(kid)) {\n innerKills[kid]();\n }\n }\n }\n }\n\n kills = null;\n var newKills = kill(error, root, cb);\n\n return function (killError) {\n return new Aff(ASYNC, function (killCb) {\n return function () {\n for (var kid in newKills) {\n if (newKills.hasOwnProperty(kid)) {\n newKills[kid]();\n }\n }\n return nonCanceler;\n };\n });\n };\n }\n\n run();\n\n return function (killError) {\n return new Aff(ASYNC, function (killCb) {\n return function () {\n return cancel(killError, killCb);\n };\n });\n };\n }\n\n function sequential(util, supervisor, par) {\n return new Aff(ASYNC, function (cb) {\n return function () {\n return runPar(util, supervisor, par, cb);\n };\n });\n }\n\n Aff.EMPTY = EMPTY;\n Aff.Pure = AffCtr(PURE);\n Aff.Throw = AffCtr(THROW);\n Aff.Catch = AffCtr(CATCH);\n Aff.Sync = AffCtr(SYNC);\n Aff.Async = AffCtr(ASYNC);\n Aff.Bind = AffCtr(BIND);\n Aff.Bracket = AffCtr(BRACKET);\n Aff.Fork = AffCtr(FORK);\n Aff.Seq = AffCtr(SEQ);\n Aff.ParMap = AffCtr(MAP);\n Aff.ParApply = AffCtr(APPLY);\n Aff.ParAlt = AffCtr(ALT);\n Aff.Fiber = Fiber;\n Aff.Supervisor = Supervisor;\n Aff.Scheduler = Scheduler;\n Aff.nonCanceler = nonCanceler;\n\n return Aff;\n }();\n\n exports._pure = Aff.Pure;\n\n exports._throwError = Aff.Throw;\n\n exports._catchError = function (aff) {\n return function (k) {\n return Aff.Catch(aff, k);\n };\n };\n\n exports._map = function (f) {\n return function (aff) {\n if (aff.tag === Aff.Pure.tag) {\n return Aff.Pure(f(aff._1));\n } else {\n return Aff.Bind(aff, function (value) {\n return Aff.Pure(f(value));\n });\n }\n };\n };\n\n exports._bind = function (aff) {\n return function (k) {\n return Aff.Bind(aff, k);\n };\n };\n\n exports._fork = function (immediate) {\n return function (aff) {\n return Aff.Fork(immediate, aff);\n };\n };\n\n exports._liftEffect = Aff.Sync;\n\n exports._parAffMap = function (f) {\n return function (aff) {\n return Aff.ParMap(f, aff);\n };\n };\n\n exports._parAffApply = function (aff1) {\n return function (aff2) {\n return Aff.ParApply(aff1, aff2);\n };\n };\n\n exports.makeAff = Aff.Async;\n\n exports.generalBracket = function (acquire) {\n return function (options) {\n return function (k) {\n return Aff.Bracket(acquire, options, k);\n };\n };\n };\n\n exports._makeFiber = function (util, aff) {\n return function () {\n return Aff.Fiber(util, null, aff);\n };\n }; \n\n exports._sequential = Aff.Seq;\n})(PS[\"Effect.Aff\"] = PS[\"Effect.Aff\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unsafePerformEffect = function (f) {\n return f();\n };\n})(PS[\"Effect.Unsafe\"] = PS[\"Effect.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.Unsafe\"];\n var Effect = PS[\"Effect\"];\n exports[\"unsafePerformEffect\"] = $foreign.unsafePerformEffect;\n})(PS[\"Effect.Unsafe\"] = PS[\"Effect.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.Aff\"];\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Lazy = PS[\"Control.Lazy\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Parallel = PS[\"Control.Parallel\"];\n var Control_Parallel_Class = PS[\"Control.Parallel.Class\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Time_Duration = PS[\"Data.Time.Duration\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Effect_Unsafe = PS[\"Effect.Unsafe\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Canceler = function (x) {\n return x;\n };\n var suspendAff = $foreign[\"_fork\"](false);\n var functorParAff = new Data_Functor.Functor($foreign[\"_parAffMap\"]);\n var functorAff = new Data_Functor.Functor($foreign[\"_map\"]);\n var forkAff = $foreign[\"_fork\"](true);\n var ffiUtil = (function () {\n var unsafeFromRight = function (v) {\n if (v instanceof Data_Either.Right) {\n return v.value0;\n };\n if (v instanceof Data_Either.Left) {\n return Partial_Unsafe.unsafeCrashWith(\"unsafeFromRight: Left\");\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 400, column 21 - line 402, column 31): \" + [ v.constructor.name ]);\n };\n var unsafeFromLeft = function (v) {\n if (v instanceof Data_Either.Left) {\n return v.value0;\n };\n if (v instanceof Data_Either.Right) {\n return Partial_Unsafe.unsafeCrashWith(\"unsafeFromLeft: Right\");\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 395, column 20 - line 399, column 3): \" + [ v.constructor.name ]);\n };\n var isLeft = function (v) {\n if (v instanceof Data_Either.Left) {\n return true;\n };\n if (v instanceof Data_Either.Right) {\n return false;\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 390, column 12 - line 392, column 20): \" + [ v.constructor.name ]);\n };\n return {\n isLeft: isLeft,\n fromLeft: unsafeFromLeft,\n fromRight: unsafeFromRight,\n left: Data_Either.Left.create,\n right: Data_Either.Right.create\n };\n })();\n var makeFiber = function (aff) {\n return $foreign[\"_makeFiber\"](ffiUtil, aff);\n };\n var launchAff = function (aff) {\n return function __do() {\n var v = makeFiber(aff)();\n v.run();\n return v;\n };\n };\n var launchAff_ = function ($49) {\n return Data_Functor[\"void\"](Effect.functorEffect)(launchAff($49));\n };\n var bracket = function (acquire) {\n return function (completed) {\n return $foreign.generalBracket(acquire)({\n killed: Data_Function[\"const\"](completed),\n failed: Data_Function[\"const\"](completed),\n completed: Data_Function[\"const\"](completed)\n });\n };\n };\n var applyParAff = new Control_Apply.Apply(function () {\n return functorParAff;\n }, $foreign[\"_parAffApply\"]);\n var monadAff = new Control_Monad.Monad(function () {\n return applicativeAff;\n }, function () {\n return bindAff;\n });\n var bindAff = new Control_Bind.Bind(function () {\n return applyAff;\n }, $foreign[\"_bind\"]);\n var applyAff = new Control_Apply.Apply(function () {\n return functorAff;\n }, Control_Monad.ap(monadAff));\n var applicativeAff = new Control_Applicative.Applicative(function () {\n return applyAff;\n }, $foreign[\"_pure\"]);\n var $$finally = function (fin) {\n return function (a) {\n return bracket(Control_Applicative.pure(applicativeAff)(Data_Unit.unit))(Data_Function[\"const\"](fin))(Data_Function[\"const\"](a));\n };\n };\n var monadEffectAff = new Effect_Class.MonadEffect(function () {\n return monadAff;\n }, $foreign[\"_liftEffect\"]);\n var effectCanceler = function ($50) {\n return Canceler(Data_Function[\"const\"](Effect_Class.liftEffect(monadEffectAff)($50)));\n };\n var joinFiber = function (v) {\n return $foreign.makeAff(function (k) {\n return Data_Functor.map(Effect.functorEffect)(effectCanceler)(v.join(k));\n });\n };\n var functorFiber = new Data_Functor.Functor(function (f) {\n return function (t) {\n return Effect_Unsafe.unsafePerformEffect(makeFiber(Data_Functor.map(functorAff)(f)(joinFiber(t))));\n };\n });\n var killFiber = function (e) {\n return function (v) {\n return Control_Bind.bind(bindAff)(Effect_Class.liftEffect(monadEffectAff)(v.isSuspended))(function (v1) {\n if (v1) {\n return Effect_Class.liftEffect(monadEffectAff)(Data_Functor[\"void\"](Effect.functorEffect)(v.kill(e, Data_Function[\"const\"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit)))));\n };\n return $foreign.makeAff(function (k) {\n return Data_Functor.map(Effect.functorEffect)(effectCanceler)(v.kill(e, k));\n });\n });\n };\n };\n var monadThrowAff = new Control_Monad_Error_Class.MonadThrow(function () {\n return monadAff;\n }, $foreign[\"_throwError\"]);\n var monadErrorAff = new Control_Monad_Error_Class.MonadError(function () {\n return monadThrowAff;\n }, $foreign[\"_catchError\"]); \n var runAff = function (k) {\n return function (aff) {\n return launchAff(Control_Bind.bindFlipped(bindAff)(function ($52) {\n return Effect_Class.liftEffect(monadEffectAff)(k($52));\n })(Control_Monad_Error_Class[\"try\"](monadErrorAff)(aff)));\n };\n };\n var runAff_ = function (k) {\n return function (aff) {\n return Data_Functor[\"void\"](Effect.functorEffect)(runAff(k)(aff));\n };\n };\n var parallelAff = new Control_Parallel_Class.Parallel(function () {\n return applicativeParAff;\n }, function () {\n return monadAff;\n }, Unsafe_Coerce.unsafeCoerce, $foreign[\"_sequential\"]);\n var applicativeParAff = new Control_Applicative.Applicative(function () {\n return applyParAff;\n }, function ($54) {\n return Control_Parallel_Class.parallel(parallelAff)(Control_Applicative.pure(applicativeAff)($54));\n });\n var monadRecAff = new Control_Monad_Rec_Class.MonadRec(function () {\n return monadAff;\n }, function (k) {\n var go = function (a) {\n return Control_Bind.bind(bindAff)(k(a))(function (v) {\n if (v instanceof Control_Monad_Rec_Class.Done) {\n return Control_Applicative.pure(applicativeAff)(v.value0);\n };\n if (v instanceof Control_Monad_Rec_Class.Loop) {\n return go(v.value0);\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 100, column 7 - line 102, column 22): \" + [ v.constructor.name ]);\n });\n };\n return go;\n });\n var nonCanceler = Data_Function[\"const\"](Control_Applicative.pure(applicativeAff)(Data_Unit.unit));\n exports[\"Canceler\"] = Canceler;\n exports[\"launchAff\"] = launchAff;\n exports[\"launchAff_\"] = launchAff_;\n exports[\"runAff\"] = runAff;\n exports[\"runAff_\"] = runAff_;\n exports[\"forkAff\"] = forkAff;\n exports[\"suspendAff\"] = suspendAff;\n exports[\"finally\"] = $$finally;\n exports[\"killFiber\"] = killFiber;\n exports[\"joinFiber\"] = joinFiber;\n exports[\"bracket\"] = bracket;\n exports[\"nonCanceler\"] = nonCanceler;\n exports[\"effectCanceler\"] = effectCanceler;\n exports[\"functorAff\"] = functorAff;\n exports[\"applyAff\"] = applyAff;\n exports[\"applicativeAff\"] = applicativeAff;\n exports[\"bindAff\"] = bindAff;\n exports[\"monadAff\"] = monadAff;\n exports[\"monadRecAff\"] = monadRecAff;\n exports[\"monadThrowAff\"] = monadThrowAff;\n exports[\"monadErrorAff\"] = monadErrorAff;\n exports[\"monadEffectAff\"] = monadEffectAff;\n exports[\"functorParAff\"] = functorParAff;\n exports[\"applyParAff\"] = applyParAff;\n exports[\"applicativeParAff\"] = applicativeParAff;\n exports[\"parallelAff\"] = parallelAff;\n exports[\"functorFiber\"] = functorFiber;\n exports[\"makeAff\"] = $foreign.makeAff;\n})(PS[\"Effect.Aff\"] = PS[\"Effect.Aff\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Prelude = PS[\"Prelude\"];\n var fromEffectFnAff = function (v) {\n return Effect_Aff.makeAff(function (k) {\n return function __do() {\n var v1 = v(function ($4) {\n return k(Data_Either.Left.create($4))();\n }, function ($5) {\n return k(Data_Either.Right.create($5))();\n });\n return function (e) {\n return Effect_Aff.makeAff(function (k2) {\n return function __do() {\n v1(e, function ($6) {\n return k2(Data_Either.Left.create($6))();\n }, function ($7) {\n return k2(Data_Either.Right.create($7))();\n });\n return Effect_Aff.nonCanceler;\n };\n });\n };\n };\n });\n };\n exports[\"fromEffectFnAff\"] = fromEffectFnAff;\n})(PS[\"Effect.Aff.Compat\"] = PS[\"Effect.Aff.Compat\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Affjax\"];\n var Affjax_RequestBody = PS[\"Affjax.RequestBody\"];\n var Affjax_RequestHeader = PS[\"Affjax.RequestHeader\"];\n var Affjax_ResponseFormat = PS[\"Affjax.ResponseFormat\"];\n var Affjax_ResponseHeader = PS[\"Affjax.ResponseHeader\"];\n var Affjax_StatusCode = PS[\"Affjax.StatusCode\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Except = PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Parallel = PS[\"Control.Parallel\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Argonaut_Core = PS[\"Data.Argonaut.Core\"];\n var Data_Argonaut_Parser = PS[\"Data.Argonaut.Parser\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FormURLEncoded = PS[\"Data.FormURLEncoded\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HTTP_Method = PS[\"Data.HTTP.Method\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_Int = PS[\"Data.Int\"];\n var Data_List_NonEmpty = PS[\"Data.List.NonEmpty\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Time_Duration = PS[\"Data.Time.Duration\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Aff_Compat = PS[\"Effect.Aff.Compat\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Foreign = PS[\"Foreign\"];\n var $$Math = PS[\"Math\"];\n var Prelude = PS[\"Prelude\"];\n var request = function (req) {\n var parseJSON = function (v) {\n if (v === \"\") {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(Data_Argonaut_Core.jsonEmptyObject);\n };\n return Data_Either.either(function ($66) {\n return Foreign.fail(Foreign.ForeignError.create($66));\n })(Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity)))(Data_Argonaut_Parser.jsonParser(v));\n };\n var fromResponse$prime = (function () {\n if (req.responseFormat instanceof Affjax_ResponseFormat[\"ArrayBuffer\"]) {\n return Foreign.unsafeReadTagged(\"ArrayBuffer\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Blob) {\n return Foreign.unsafeReadTagged(\"Blob\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Document) {\n return Foreign.unsafeReadTagged(\"Document\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Json) {\n return Control_Bind.composeKleisliFlipped(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(function ($67) {\n return req.responseFormat.value0(parseJSON($67));\n })(Foreign.unsafeReadTagged(\"String\"));\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat[\"String\"]) {\n return Foreign.unsafeReadTagged(\"String\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Ignore) {\n return Data_Function[\"const\"](req.responseFormat.value0(Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(Data_Unit.unit)));\n };\n throw new Error(\"Failed pattern match at Affjax (line 294, column 19 - line 300, column 57): \" + [ req.responseFormat.constructor.name ]);\n })();\n var extractContent = function (v) {\n if (v instanceof Affjax_RequestBody.ArrayView) {\n return v.value0(Foreign.unsafeToForeign);\n };\n if (v instanceof Affjax_RequestBody.Blob) {\n return Foreign.unsafeToForeign(v.value0);\n };\n if (v instanceof Affjax_RequestBody.Document) {\n return Foreign.unsafeToForeign(v.value0);\n };\n if (v instanceof Affjax_RequestBody[\"String\"]) {\n return Foreign.unsafeToForeign(v.value0);\n };\n if (v instanceof Affjax_RequestBody.FormData) {\n return Foreign.unsafeToForeign(v.value0);\n };\n if (v instanceof Affjax_RequestBody.FormURLEncoded) {\n return Foreign.unsafeToForeign(Data_FormURLEncoded.encode(v.value0));\n };\n if (v instanceof Affjax_RequestBody.Json) {\n return Foreign.unsafeToForeign(Data_Argonaut_Core.stringify(v.value0));\n };\n throw new Error(\"Failed pattern match at Affjax (line 268, column 20 - line 275, column 57): \" + [ v.constructor.name ]);\n };\n var addHeader = function (mh) {\n return function (hs) {\n if (mh instanceof Data_Maybe.Just && !Data_Foldable.any(Data_Foldable.foldableArray)(Data_HeytingAlgebra.heytingAlgebraBoolean)(Data_Function.on(Data_Eq.eq(Data_Eq.eqString))(Affjax_RequestHeader.name)(mh.value0))(hs)) {\n return Data_Array.snoc(hs)(mh.value0);\n };\n return hs;\n };\n };\n var headers = function (reqContent) {\n return addHeader(Data_Functor.map(Data_Maybe.functorMaybe)(Affjax_RequestHeader.ContentType.create)(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Affjax_RequestBody.toMediaType)(reqContent)))(addHeader(Data_Functor.map(Data_Maybe.functorMaybe)(Affjax_RequestHeader.Accept.create)(Affjax_ResponseFormat.toMediaType(req.responseFormat)))(req.headers));\n };\n var req$prime = {\n method: Data_HTTP_Method.print(req.method),\n url: req.url,\n headers: Data_Functor.map(Data_Functor.functorArray)(function (h) {\n return {\n field: Affjax_RequestHeader.name(h),\n value: Affjax_RequestHeader.value(h)\n };\n })(headers(req.content)),\n content: Data_Nullable.toNullable(Data_Functor.map(Data_Maybe.functorMaybe)(extractContent)(req.content)),\n responseType: Affjax_ResponseFormat.toResponseType(req.responseFormat),\n username: Data_Nullable.toNullable(req.username),\n password: Data_Nullable.toNullable(req.password),\n withCredentials: req.withCredentials\n };\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Aff_Compat.fromEffectFnAff($foreign[\"_ajax\"](Affjax_ResponseHeader.ResponseHeader.create, req$prime)))(function (v) {\n var v1 = Control_Monad_Except.runExcept(fromResponse$prime(v.body));\n if (v1 instanceof Data_Either.Left) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)({\n body: new Data_Either.Left(new Affjax_ResponseFormat.ResponseFormatError(Data_List_NonEmpty.head(v1.value0), v.body)),\n headers: v.headers,\n status: v.status,\n statusText: v.statusText\n });\n };\n if (v1 instanceof Data_Either.Right) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)({\n body: new Data_Either.Right(v1.value0),\n headers: v.headers,\n status: v.status,\n statusText: v.statusText\n });\n };\n throw new Error(\"Failed pattern match at Affjax (line 248, column 3 - line 252, column 39): \" + [ v1.constructor.name ]);\n });\n };\n var defaultRequest = {\n method: new Data_Either.Left(Data_HTTP_Method.GET.value),\n url: \"/\",\n headers: [ ],\n content: Data_Maybe.Nothing.value,\n username: Data_Maybe.Nothing.value,\n password: Data_Maybe.Nothing.value,\n withCredentials: false,\n responseFormat: Affjax_ResponseFormat.ignore\n };\n exports[\"defaultRequest\"] = defaultRequest;\n exports[\"request\"] = request;\n})(PS[\"Affjax\"] = PS[\"Affjax\"] || {});\n(function(exports) {\n \"use strict\";\n var moment =require(\"moment\"); \n\n exports._app = function() {\n return app;\n }\n\n exports._mmoment8601 = function(just, nothing, tuple, s) {\n try {\n var m = moment(s, moment.ISO_8601);\n var s1 = m.fromNow();\n var s2 = m.format('MMMM D YYYY, h:mm a') + \" (\" + m.format() + \") \";\n return just(tuple(s1)(s2));\n } catch (error) {\n return nothing\n }\n }\n\n exports._closeWindow = function (window) {\n window.close();\n };\n})(PS[\"Globals\"] = PS[\"Globals\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unsafeReadPropImpl = function (f, s, key, value) {\n return value == null ? f : s(value[key]);\n };\n})(PS[\"Foreign.Index\"] = PS[\"Foreign.Index\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Foreign.Index\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_List_NonEmpty = PS[\"Data.List.NonEmpty\"];\n var Foreign = PS[\"Foreign\"];\n var Prelude = PS[\"Prelude\"];\n var unsafeReadProp = function (k) {\n return function (value) {\n return $foreign.unsafeReadPropImpl(Foreign.fail(new Foreign.TypeMismatch(\"object\", Foreign.typeOf(value))), Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity)), k, value);\n };\n };\n var readProp = unsafeReadProp;\n exports[\"readProp\"] = readProp;\n})(PS[\"Foreign.Index\"] = PS[\"Foreign.Index\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Prelude = PS[\"Prelude\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Record_Unsafe_Union = PS[\"Record.Unsafe.Union\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"];\n var Type_Row = PS[\"Type.Row\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var get = function (dictIsSymbol) {\n return function (dictCons) {\n return function (l) {\n return function (r) {\n return Record_Unsafe.unsafeGet(Data_Symbol.reflectSymbol(dictIsSymbol)(l))(r);\n };\n };\n };\n };\n exports[\"get\"] = get;\n})(PS[\"Record\"] = PS[\"Record\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.copyRecord = function(rec) {\n var copy = {};\n for (var key in rec) {\n if ({}.hasOwnProperty.call(rec, key)) {\n copy[key] = rec[key];\n }\n }\n return copy;\n };\n\n exports.unsafeInsert = function(l) {\n return function(a) {\n return function(rec) {\n rec[l] = a;\n return rec;\n };\n };\n };\n})(PS[\"Record.Builder\"] = PS[\"Record.Builder\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Record.Builder\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Prelude = PS[\"Prelude\"];\n var Record_Unsafe_Union = PS[\"Record.Unsafe.Union\"];\n var Type_Row = PS[\"Type.Row\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var semigroupoidBuilder = Control_Semigroupoid.semigroupoidFn;\n var insert = function (dictCons) {\n return function (dictLacks) {\n return function (dictIsSymbol) {\n return function (l) {\n return function (a) {\n return function (r1) {\n return $foreign.unsafeInsert(Data_Symbol.reflectSymbol(dictIsSymbol)(l))(a)(r1);\n };\n };\n };\n };\n };\n };\n var categoryBuilder = Control_Category.categoryFn;\n var build = function (v) {\n return function (r1) {\n return v($foreign.copyRecord(r1));\n };\n };\n exports[\"build\"] = build;\n exports[\"insert\"] = insert;\n exports[\"semigroupoidBuilder\"] = semigroupoidBuilder;\n exports[\"categoryBuilder\"] = categoryBuilder;\n})(PS[\"Record.Builder\"] = PS[\"Record.Builder\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Simple.JSON\"];\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad_Except = PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Variant = PS[\"Data.Variant\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Effect_Unsafe = PS[\"Effect.Unsafe\"];\n var Foreign = PS[\"Foreign\"];\n var Foreign_Index = PS[\"Foreign.Index\"];\n var Foreign_Object = PS[\"Foreign.Object\"];\n var Global_Unsafe = PS[\"Global.Unsafe\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var Record = PS[\"Record\"];\n var Record_Builder = PS[\"Record.Builder\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"];\n var Type_Prelude = PS[\"Type.Prelude\"];\n var WriteForeign = function (writeImpl) {\n this.writeImpl = writeImpl;\n };\n var WriteForeignFields = function (writeImplFields) {\n this.writeImplFields = writeImplFields;\n };\n var writeImplFields = function (dict) {\n return dict.writeImplFields;\n };\n var writeImpl = function (dict) {\n return dict.writeImpl;\n };\n var writeJSON = function (dictWriteForeign) {\n return function ($85) {\n return Global_Unsafe.unsafeStringify(writeImpl(dictWriteForeign)($85));\n };\n };\n var writeForeignString = new WriteForeign(Foreign.unsafeToForeign);\n var writeForeignNullable = function (dictWriteForeign) {\n return new WriteForeign(function ($87) {\n return Data_Maybe.maybe(Foreign.unsafeToForeign(Data_Nullable.toNullable(Data_Maybe.Nothing.value)))(writeImpl(dictWriteForeign))(Data_Nullable.toMaybe($87));\n });\n };\n var writeForeignInt = new WriteForeign(Foreign.unsafeToForeign); \n var writeForeignBoolean = new WriteForeign(Foreign.unsafeToForeign);\n var recordWriteForeign = function (dictRowToList) {\n return function (dictWriteForeignFields) {\n return new WriteForeign(function (rec) {\n var steps = writeImplFields(dictWriteForeignFields)(Type_Data_RowList.RLProxy.value)(rec);\n return Foreign.unsafeToForeign(Record_Builder.build(steps)({}));\n });\n };\n }; \n var nilWriteForeignFields = new WriteForeignFields(function (v) {\n return function (v1) {\n return Control_Category.identity(Record_Builder.categoryBuilder);\n };\n });\n var consWriteForeignFields = function (dictIsSymbol) {\n return function (dictWriteForeign) {\n return function (dictWriteForeignFields) {\n return function (dictCons) {\n return function (dictLacks) {\n return function (dictCons1) {\n return new WriteForeignFields(function (v) {\n return function (rec) {\n var rest = writeImplFields(dictWriteForeignFields)(Type_Data_RowList.RLProxy.value)(rec);\n var value = writeImpl(dictWriteForeign)(Record.get(dictIsSymbol)(dictCons)(Data_Symbol.SProxy.value)(rec));\n var result = Control_Semigroupoid.compose(Record_Builder.semigroupoidBuilder)(Record_Builder.insert(dictCons1)(dictLacks)(dictIsSymbol)(Data_Symbol.SProxy.value)(value))(rest);\n return result;\n };\n });\n };\n };\n };\n };\n };\n };\n exports[\"writeJSON\"] = writeJSON;\n exports[\"WriteForeign\"] = WriteForeign;\n exports[\"writeImpl\"] = writeImpl;\n exports[\"WriteForeignFields\"] = WriteForeignFields;\n exports[\"writeImplFields\"] = writeImplFields;\n exports[\"writeForeignString\"] = writeForeignString;\n exports[\"writeForeignInt\"] = writeForeignInt;\n exports[\"writeForeignBoolean\"] = writeForeignBoolean;\n exports[\"writeForeignNullable\"] = writeForeignNullable;\n exports[\"recordWriteForeign\"] = recordWriteForeign;\n exports[\"consWriteForeignFields\"] = consWriteForeignFields;\n exports[\"nilWriteForeignFields\"] = nilWriteForeignFields;\n})(PS[\"Simple.JSON\"] = PS[\"Simple.JSON\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Simple_JSON = PS[\"Simple.JSON\"];\n var usersettings_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"archiveDefault\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"privacyLock\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"privateDefault\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.nilWriteForeignFields)()()())()()())()()());\n var note_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"created\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"id\";\n }))(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"isMarkdown\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"length\";\n }))(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"slug\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"text\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"title\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"updated\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.nilWriteForeignFields)()()())()()())()()())()()())()()())()()())()()())()()());\n var bookmark_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"archiveUrl\";\n }))(Simple_JSON.writeForeignNullable(Simple_JSON.writeForeignString))(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"bid\";\n }))(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"description\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"private\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"selected\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"slug\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"tags\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"time\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"title\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"toread\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"url\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.nilWriteForeignFields)()()())()()())()()())()()())()()())()()())()()())()()())()()())()()())()()());\n exports[\"bookmark_wfI\"] = bookmark_wfI;\n exports[\"note_wfI\"] = note_wfI;\n exports[\"usersettings_wfI\"] = usersettings_wfI;\n})(PS[\"Model\"] = PS[\"Model\"] || {});\n(function(exports) {\n /* global window */\n \"use strict\";\n\n exports.window = function () {\n return window;\n };\n})(PS[\"Web.HTML\"] = PS[\"Web.HTML\"] || {});\n(function(exports) {\n \"use strict\"; \n\n exports._querySelector = function (selector) {\n return function (node) {\n return function () {\n return node.querySelector(selector);\n };\n };\n };\n})(PS[\"Web.DOM.ParentNode\"] = PS[\"Web.DOM.ParentNode\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.DOM.ParentNode\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM_HTMLCollection = PS[\"Web.DOM.HTMLCollection\"];\n var Web_DOM_Internal_Types = PS[\"Web.DOM.Internal.Types\"];\n var Web_DOM_NodeList = PS[\"Web.DOM.NodeList\"];\n var querySelector = function (qs) {\n return function ($3) {\n return Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe)($foreign[\"_querySelector\"](qs)($3));\n };\n };\n exports[\"querySelector\"] = querySelector;\n})(PS[\"Web.DOM.ParentNode\"] = PS[\"Web.DOM.ParentNode\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.eventListener = function (fn) {\n return function () {\n return function (event) {\n return fn(event)();\n };\n };\n };\n})(PS[\"Web.Event.EventTarget\"] = PS[\"Web.Event.EventTarget\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports._currentTarget = function (e) {\n return e.currentTarget;\n };\n\n exports.preventDefault = function (e) {\n return function () {\n return e.preventDefault();\n };\n };\n})(PS[\"Web.Event.Event\"] = PS[\"Web.Event.Event\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.toCharCode = function (c) {\n return c.charCodeAt(0);\n };\n\n exports.fromCharCode = function (c) {\n return String.fromCharCode(c);\n };\n})(PS[\"Data.Enum\"] = PS[\"Data.Enum\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Enum\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var Enum = function (Ord0, pred, succ) {\n this.Ord0 = Ord0;\n this.pred = pred;\n this.succ = succ;\n };\n var BoundedEnum = function (Bounded0, Enum1, cardinality, fromEnum, toEnum) {\n this.Bounded0 = Bounded0;\n this.Enum1 = Enum1;\n this.cardinality = cardinality;\n this.fromEnum = fromEnum;\n this.toEnum = toEnum;\n };\n var toEnum = function (dict) {\n return dict.toEnum;\n };\n var succ = function (dict) {\n return dict.succ;\n }; \n var pred = function (dict) {\n return dict.pred;\n }; \n var fromEnum = function (dict) {\n return dict.fromEnum;\n };\n var toEnumWithDefaults = function (dictBoundedEnum) {\n return function (low) {\n return function (high) {\n return function (x) {\n var v = toEnum(dictBoundedEnum)(x);\n if (v instanceof Data_Maybe.Just) {\n return v.value0;\n };\n if (v instanceof Data_Maybe.Nothing) {\n var $54 = x < fromEnum(dictBoundedEnum)(Data_Bounded.bottom(dictBoundedEnum.Bounded0()));\n if ($54) {\n return low;\n };\n return high;\n };\n throw new Error(\"Failed pattern match at Data.Enum (line 158, column 33 - line 160, column 62): \" + [ v.constructor.name ]);\n };\n };\n };\n };\n var defaultSucc = function (toEnum$prime) {\n return function (fromEnum$prime) {\n return function (a) {\n return toEnum$prime(fromEnum$prime(a) + 1 | 0);\n };\n };\n };\n var defaultPred = function (toEnum$prime) {\n return function (fromEnum$prime) {\n return function (a) {\n return toEnum$prime(fromEnum$prime(a) - 1 | 0);\n };\n };\n };\n var charToEnum = function (v) {\n if (v >= Data_Bounded.bottom(Data_Bounded.boundedInt) && v <= Data_Bounded.top(Data_Bounded.boundedInt)) {\n return new Data_Maybe.Just($foreign.fromCharCode(v));\n };\n return Data_Maybe.Nothing.value;\n };\n var enumChar = new Enum(function () {\n return Data_Ord.ordChar;\n }, defaultPred(charToEnum)($foreign.toCharCode), defaultSucc(charToEnum)($foreign.toCharCode));\n var cardinality = function (dict) {\n return dict.cardinality;\n }; \n var boundedEnumChar = new BoundedEnum(function () {\n return Data_Bounded.boundedChar;\n }, function () {\n return enumChar;\n }, $foreign.toCharCode(Data_Bounded.top(Data_Bounded.boundedChar)) - $foreign.toCharCode(Data_Bounded.bottom(Data_Bounded.boundedChar)) | 0, $foreign.toCharCode, charToEnum);\n exports[\"Enum\"] = Enum;\n exports[\"succ\"] = succ;\n exports[\"pred\"] = pred;\n exports[\"BoundedEnum\"] = BoundedEnum;\n exports[\"cardinality\"] = cardinality;\n exports[\"toEnum\"] = toEnum;\n exports[\"fromEnum\"] = fromEnum;\n exports[\"toEnumWithDefaults\"] = toEnumWithDefaults;\n exports[\"defaultSucc\"] = defaultSucc;\n exports[\"defaultPred\"] = defaultPred;\n exports[\"enumChar\"] = enumChar;\n exports[\"boundedEnumChar\"] = boundedEnumChar;\n})(PS[\"Data.Enum\"] = PS[\"Data.Enum\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.Event.Event\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_DateTime_Instant = PS[\"Data.DateTime.Instant\"];\n var Data_Enum = PS[\"Data.Enum\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Web_Event_EventPhase = PS[\"Web.Event.EventPhase\"];\n var Web_Event_Internal_Types = PS[\"Web.Event.Internal.Types\"];\n var currentTarget = function ($6) {\n return Data_Nullable.toMaybe($foreign[\"_currentTarget\"]($6));\n };\n exports[\"currentTarget\"] = currentTarget;\n exports[\"preventDefault\"] = $foreign.preventDefault;\n})(PS[\"Web.Event.Event\"] = PS[\"Web.Event.Event\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.Event.EventTarget\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_Event_Internal_Types = PS[\"Web.Event.Internal.Types\"];\n exports[\"eventListener\"] = $foreign.eventListener;\n})(PS[\"Web.Event.EventTarget\"] = PS[\"Web.Event.EventTarget\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports._read = function (nothing, just, value) {\n var tag = Object.prototype.toString.call(value);\n if (tag.indexOf(\"[object HTML\") === 0 && tag.indexOf(\"Element]\") === tag.length - 8) {\n return just(value);\n } else {\n return nothing;\n }\n };\n})(PS[\"Web.HTML.HTMLElement\"] = PS[\"Web.HTML.HTMLElement\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.removeAttribute = function (name) {\n return function (element) {\n return function () {\n element.removeAttribute(name);\n return {};\n };\n };\n };\n})(PS[\"Web.DOM.Element\"] = PS[\"Web.DOM.Element\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.DOM.Element\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_ChildNode = PS[\"Web.DOM.ChildNode\"];\n var Web_DOM_Internal_Types = PS[\"Web.DOM.Internal.Types\"];\n var Web_DOM_NonDocumentTypeChildNode = PS[\"Web.DOM.NonDocumentTypeChildNode\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var Web_Internal_FFI = PS[\"Web.Internal.FFI\"]; \n var toNode = Unsafe_Coerce.unsafeCoerce;\n exports[\"toNode\"] = toNode;\n exports[\"removeAttribute\"] = $foreign.removeAttribute;\n})(PS[\"Web.DOM.Element\"] = PS[\"Web.DOM.Element\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.HTML.HTMLElement\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM = PS[\"Web.DOM\"];\n var Web_DOM_DOMTokenList = PS[\"Web.DOM.DOMTokenList\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_Internal_Types = PS[\"Web.DOM.Internal.Types\"];\n var Web_DOM_NonDocumentTypeChildNode = PS[\"Web.DOM.NonDocumentTypeChildNode\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"]; \n var toNode = Unsafe_Coerce.unsafeCoerce; \n var toElement = Unsafe_Coerce.unsafeCoerce;\n var fromElement = function (x) {\n return $foreign[\"_read\"](Data_Maybe.Nothing.value, Data_Maybe.Just.create, x);\n };\n exports[\"fromElement\"] = fromElement;\n exports[\"toElement\"] = toElement;\n exports[\"toNode\"] = toNode;\n})(PS[\"Web.HTML.HTMLElement\"] = PS[\"Web.HTML.HTMLElement\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.HTML.HTMLDocument\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Internal_Types = PS[\"Web.DOM.Internal.Types\"];\n var Web_DOM_NonElementParentNode = PS[\"Web.DOM.NonElementParentNode\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var Web_HTML_HTMLDocument_ReadyState = PS[\"Web.HTML.HTMLDocument.ReadyState\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_HTMLScriptElement = PS[\"Web.HTML.HTMLScriptElement\"];\n var Web_Internal_FFI = PS[\"Web.Internal.FFI\"]; \n var toParentNode = Unsafe_Coerce.unsafeCoerce; \n var toDocument = Unsafe_Coerce.unsafeCoerce;\n exports[\"toDocument\"] = toDocument;\n exports[\"toParentNode\"] = toParentNode;\n})(PS[\"Web.HTML.HTMLDocument\"] = PS[\"Web.HTML.HTMLDocument\"] || {});\n(function(exports) {\n \"use strict\";\n\n // ----------------------------------------------------------------------------\n\n exports.href = function (location) {\n return function () {\n return location.href;\n };\n };\n\n exports.setHref = function (href) {\n return function (location) {\n return function () {\n location.href = href;\n };\n };\n };\n\n // ----------------------------------------------------------------------------\n\n exports.search = function (location) {\n return function () {\n return location.search;\n };\n };\n\n // ----------------------------------------------------------------------------\n\n exports.reload = function (location) {\n return function () {\n location.reload();\n };\n };\n})(PS[\"Web.HTML.Location\"] = PS[\"Web.HTML.Location\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.HTML.Location\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n exports[\"setHref\"] = $foreign.setHref;\n exports[\"search\"] = $foreign.search;\n exports[\"reload\"] = $foreign.reload;\n})(PS[\"Web.HTML.Location\"] = PS[\"Web.HTML.Location\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.document = function (window) {\n return function () {\n return window.document;\n };\n };\n\n exports.location = function (window) {\n return function () {\n return window.location;\n };\n };\n})(PS[\"Web.HTML.Window\"] = PS[\"Web.HTML.Window\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.HTML.Window\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var Web_HTML_HTMLDocument = PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_History = PS[\"Web.HTML.History\"];\n var Web_HTML_Location = PS[\"Web.HTML.Location\"];\n var Web_HTML_Navigator = PS[\"Web.HTML.Navigator\"];\n var Web_Storage_Storage = PS[\"Web.Storage.Storage\"];\n exports[\"document\"] = $foreign.document;\n exports[\"location\"] = $foreign.location;\n})(PS[\"Web.HTML.Window\"] = PS[\"Web.HTML.Window\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.HTML\"];\n var Effect = PS[\"Effect\"];\n var Web_HTML_HTMLAnchorElement = PS[\"Web.HTML.HTMLAnchorElement\"];\n var Web_HTML_HTMLAreaElement = PS[\"Web.HTML.HTMLAreaElement\"];\n var Web_HTML_HTMLAudioElement = PS[\"Web.HTML.HTMLAudioElement\"];\n var Web_HTML_HTMLBRElement = PS[\"Web.HTML.HTMLBRElement\"];\n var Web_HTML_HTMLBaseElement = PS[\"Web.HTML.HTMLBaseElement\"];\n var Web_HTML_HTMLBodyElement = PS[\"Web.HTML.HTMLBodyElement\"];\n var Web_HTML_HTMLButtonElement = PS[\"Web.HTML.HTMLButtonElement\"];\n var Web_HTML_HTMLCanvasElement = PS[\"Web.HTML.HTMLCanvasElement\"];\n var Web_HTML_HTMLDListElement = PS[\"Web.HTML.HTMLDListElement\"];\n var Web_HTML_HTMLDataElement = PS[\"Web.HTML.HTMLDataElement\"];\n var Web_HTML_HTMLDataListElement = PS[\"Web.HTML.HTMLDataListElement\"];\n var Web_HTML_HTMLDivElement = PS[\"Web.HTML.HTMLDivElement\"];\n var Web_HTML_HTMLDocument = PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_HTMLEmbedElement = PS[\"Web.HTML.HTMLEmbedElement\"];\n var Web_HTML_HTMLFieldSetElement = PS[\"Web.HTML.HTMLFieldSetElement\"];\n var Web_HTML_HTMLFormElement = PS[\"Web.HTML.HTMLFormElement\"];\n var Web_HTML_HTMLHRElement = PS[\"Web.HTML.HTMLHRElement\"];\n var Web_HTML_HTMLHeadElement = PS[\"Web.HTML.HTMLHeadElement\"];\n var Web_HTML_HTMLHeadingElement = PS[\"Web.HTML.HTMLHeadingElement\"];\n var Web_HTML_HTMLIFrameElement = PS[\"Web.HTML.HTMLIFrameElement\"];\n var Web_HTML_HTMLImageElement = PS[\"Web.HTML.HTMLImageElement\"];\n var Web_HTML_HTMLInputElement = PS[\"Web.HTML.HTMLInputElement\"];\n var Web_HTML_HTMLKeygenElement = PS[\"Web.HTML.HTMLKeygenElement\"];\n var Web_HTML_HTMLLIElement = PS[\"Web.HTML.HTMLLIElement\"];\n var Web_HTML_HTMLLabelElement = PS[\"Web.HTML.HTMLLabelElement\"];\n var Web_HTML_HTMLLegendElement = PS[\"Web.HTML.HTMLLegendElement\"];\n var Web_HTML_HTMLLinkElement = PS[\"Web.HTML.HTMLLinkElement\"];\n var Web_HTML_HTMLMapElement = PS[\"Web.HTML.HTMLMapElement\"];\n var Web_HTML_HTMLMediaElement = PS[\"Web.HTML.HTMLMediaElement\"];\n var Web_HTML_HTMLMetaElement = PS[\"Web.HTML.HTMLMetaElement\"];\n var Web_HTML_HTMLMeterElement = PS[\"Web.HTML.HTMLMeterElement\"];\n var Web_HTML_HTMLModElement = PS[\"Web.HTML.HTMLModElement\"];\n var Web_HTML_HTMLOListElement = PS[\"Web.HTML.HTMLOListElement\"];\n var Web_HTML_HTMLObjectElement = PS[\"Web.HTML.HTMLObjectElement\"];\n var Web_HTML_HTMLOptGroupElement = PS[\"Web.HTML.HTMLOptGroupElement\"];\n var Web_HTML_HTMLOptionElement = PS[\"Web.HTML.HTMLOptionElement\"];\n var Web_HTML_HTMLOutputElement = PS[\"Web.HTML.HTMLOutputElement\"];\n var Web_HTML_HTMLParagraphElement = PS[\"Web.HTML.HTMLParagraphElement\"];\n var Web_HTML_HTMLParamElement = PS[\"Web.HTML.HTMLParamElement\"];\n var Web_HTML_HTMLPreElement = PS[\"Web.HTML.HTMLPreElement\"];\n var Web_HTML_HTMLProgressElement = PS[\"Web.HTML.HTMLProgressElement\"];\n var Web_HTML_HTMLQuoteElement = PS[\"Web.HTML.HTMLQuoteElement\"];\n var Web_HTML_HTMLScriptElement = PS[\"Web.HTML.HTMLScriptElement\"];\n var Web_HTML_HTMLSelectElement = PS[\"Web.HTML.HTMLSelectElement\"];\n var Web_HTML_HTMLSourceElement = PS[\"Web.HTML.HTMLSourceElement\"];\n var Web_HTML_HTMLSpanElement = PS[\"Web.HTML.HTMLSpanElement\"];\n var Web_HTML_HTMLStyleElement = PS[\"Web.HTML.HTMLStyleElement\"];\n var Web_HTML_HTMLTableCaptionElement = PS[\"Web.HTML.HTMLTableCaptionElement\"];\n var Web_HTML_HTMLTableCellElement = PS[\"Web.HTML.HTMLTableCellElement\"];\n var Web_HTML_HTMLTableColElement = PS[\"Web.HTML.HTMLTableColElement\"];\n var Web_HTML_HTMLTableDataCellElement = PS[\"Web.HTML.HTMLTableDataCellElement\"];\n var Web_HTML_HTMLTableElement = PS[\"Web.HTML.HTMLTableElement\"];\n var Web_HTML_HTMLTableHeaderCellElement = PS[\"Web.HTML.HTMLTableHeaderCellElement\"];\n var Web_HTML_HTMLTableRowElement = PS[\"Web.HTML.HTMLTableRowElement\"];\n var Web_HTML_HTMLTableSectionElement = PS[\"Web.HTML.HTMLTableSectionElement\"];\n var Web_HTML_HTMLTemplateElement = PS[\"Web.HTML.HTMLTemplateElement\"];\n var Web_HTML_HTMLTextAreaElement = PS[\"Web.HTML.HTMLTextAreaElement\"];\n var Web_HTML_HTMLTimeElement = PS[\"Web.HTML.HTMLTimeElement\"];\n var Web_HTML_HTMLTitleElement = PS[\"Web.HTML.HTMLTitleElement\"];\n var Web_HTML_HTMLTrackElement = PS[\"Web.HTML.HTMLTrackElement\"];\n var Web_HTML_HTMLUListElement = PS[\"Web.HTML.HTMLUListElement\"];\n var Web_HTML_HTMLVideoElement = PS[\"Web.HTML.HTMLVideoElement\"];\n var Web_HTML_History = PS[\"Web.HTML.History\"];\n var Web_HTML_Location = PS[\"Web.HTML.Location\"];\n var Web_HTML_Navigator = PS[\"Web.HTML.Navigator\"];\n var Web_HTML_Window = PS[\"Web.HTML.Window\"];\n exports[\"window\"] = $foreign.window;\n})(PS[\"Web.HTML\"] = PS[\"Web.HTML\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Globals\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Effect = PS[\"Effect\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM = PS[\"Web.DOM\"];\n var Web_HTML = PS[\"Web.HTML\"];\n var Web_XHR_FormData = PS[\"Web.XHR.FormData\"]; \n var RawHTML = function (x) {\n return x;\n };\n var mmoment8601 = function (s) {\n return $foreign[\"_mmoment8601\"](Data_Maybe.Just.create, Data_Maybe.Nothing.value, Data_Tuple.Tuple.create, s);\n };\n var closeWindow = function (win) {\n return Control_Applicative.pure(Effect.applicativeEffect)($foreign[\"_closeWindow\"](win));\n };\n var app$prime = function (v) {\n return $foreign[\"_app\"]();\n };\n exports[\"app'\"] = app$prime;\n exports[\"mmoment8601\"] = mmoment8601;\n exports[\"closeWindow\"] = closeWindow;\n exports[\"RawHTML\"] = RawHTML;\n})(PS[\"Globals\"] = PS[\"Globals\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Affjax = PS[\"Affjax\"];\n var Affjax_RequestBody = PS[\"Affjax.RequestBody\"];\n var Affjax_RequestHeader = PS[\"Affjax.RequestHeader\"];\n var Affjax_ResponseFormat = PS[\"Affjax.ResponseFormat\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Argonaut = PS[\"Data.Argonaut\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_FormURLEncoded = PS[\"Data.FormURLEncoded\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HTTP_Method = PS[\"Data.HTTP.Method\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_MediaType_Common = PS[\"Data.MediaType.Common\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Globals = PS[\"Globals\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Simple_JSON = PS[\"Simple.JSON\"];\n var Web_HTML = PS[\"Web.HTML\"];\n var Web_HTML_Location = PS[\"Web.HTML.Location\"];\n var Web_HTML_Window = PS[\"Web.HTML.Window\"]; \n var Star = (function () {\n function Star() {\n\n };\n Star.value = new Star();\n return Star;\n })();\n var UnStar = (function () {\n function UnStar() {\n\n };\n UnStar.value = new UnStar();\n return UnStar;\n })();\n var showStar = new Data_Show.Show(function (v) {\n if (v instanceof Star) {\n return \"star\";\n };\n if (v instanceof UnStar) {\n return \"unstar\";\n };\n throw new Error(\"Failed pattern match at App (line 28, column 1 - line 28, column 37): \" + [ v.constructor.name ]);\n });\n var fetchUrl = function (method) {\n return function (url) {\n return function (headers) {\n return function (content) {\n return function (rt) {\n var app = Globals[\"app'\"](Data_Unit.unit);\n return Affjax.request({\n method: new Data_Either.Left(method),\n url: url,\n headers: Data_Array.cons(new Affjax_RequestHeader.RequestHeader(app.csrfHeaderName, app.csrfToken))(headers),\n content: content,\n username: Affjax.defaultRequest.username,\n password: Affjax.defaultRequest.password,\n withCredentials: Affjax.defaultRequest.withCredentials,\n responseFormat: rt\n });\n };\n };\n };\n };\n };\n var logout = function (u) {\n var app = Globals[\"app'\"](u);\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(fetchUrl(Data_HTTP_Method.POST.value)(app.authRlogoutR)([ ])(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore)))(function () {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Control_Bind.bind(Effect.bindEffect)(Control_Bind.bind(Effect.bindEffect)(Web_HTML.window)(Web_HTML_Window.location))(Web_HTML_Location.reload));\n });\n };\n var fetchPath = function (method) {\n return function (path) {\n return function (headers) {\n return function (content) {\n return function (rt) {\n return fetchUrl(method)((Globals[\"app'\"](Data_Unit.unit)).homeR + path)(headers)(content)(rt);\n };\n };\n };\n };\n };\n var fetchUrlEnc = function (method) {\n return function (path) {\n return function (content) {\n return function (rt) {\n return fetchPath(method)(path)([ new Affjax_RequestHeader.ContentType(Data_MediaType_Common.applicationFormURLEncoded) ])(Data_Functor.map(Data_Maybe.functorMaybe)(Affjax_RequestBody.FormURLEncoded.create)(content))(rt);\n };\n };\n };\n };\n var markRead = function (bid) {\n var path = \"bm/\" + (Data_Show.show(Data_Show.showInt)(bid) + \"/read\");\n return fetchUrlEnc(Data_HTTP_Method.POST.value)(path)(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore);\n };\n var toggleStar = function (bid) {\n return function (action) {\n var path = \"bm/\" + (Data_Show.show(Data_Show.showInt)(bid) + (\"/\" + Data_Show.show(showStar)(action)));\n return Data_Functor[\"void\"](Effect_Aff.functorAff)(fetchUrlEnc(Data_HTTP_Method.POST.value)(path)(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore));\n };\n };\n var fetchJson = function (dictWriteForeign) {\n return function (method) {\n return function (path) {\n return function (content) {\n return function (rt) {\n return fetchPath(method)(path)([ new Affjax_RequestHeader.ContentType(Data_MediaType_Common.applicationJSON) ])(Data_Functor.map(Data_Maybe.functorMaybe)(function ($4) {\n return Affjax_RequestBody.string(Simple_JSON.writeJSON(dictWriteForeign)($4));\n })(content))(rt);\n };\n };\n };\n };\n };\n var editNote = function (bm) {\n return fetchJson(Model.note_wfI)(Data_HTTP_Method.POST.value)(\"api/note/add\")(new Data_Maybe.Just(bm))(Affjax_ResponseFormat.json);\n };\n var editBookmark = function (bm) {\n return fetchJson(Model.bookmark_wfI)(Data_HTTP_Method.POST.value)(\"api/add\")(new Data_Maybe.Just(bm))(Affjax_ResponseFormat.ignore);\n };\n var editAccountSettings = function (us) {\n return fetchJson(Model.usersettings_wfI)(Data_HTTP_Method.POST.value)(\"api/accountSettings\")(new Data_Maybe.Just(us))(Affjax_ResponseFormat.ignore);\n };\n var destroyNote = function (nid) {\n return fetchUrlEnc(Data_HTTP_Method.DELETE.value)(\"api/note/\" + Data_Show.show(Data_Show.showInt)(nid))(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore);\n };\n var destroy = function (bid) {\n return fetchUrlEnc(Data_HTTP_Method.DELETE.value)(\"bm/\" + Data_Show.show(Data_Show.showInt)(bid))(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore);\n };\n exports[\"Star\"] = Star;\n exports[\"UnStar\"] = UnStar;\n exports[\"toggleStar\"] = toggleStar;\n exports[\"destroy\"] = destroy;\n exports[\"markRead\"] = markRead;\n exports[\"editBookmark\"] = editBookmark;\n exports[\"editNote\"] = editNote;\n exports[\"destroyNote\"] = destroyNote;\n exports[\"editAccountSettings\"] = editAccountSettings;\n exports[\"logout\"] = logout;\n exports[\"fetchJson\"] = fetchJson;\n exports[\"fetchUrlEnc\"] = fetchUrlEnc;\n exports[\"fetchPath\"] = fetchPath;\n exports[\"fetchUrl\"] = fetchUrl;\n exports[\"showStar\"] = showStar;\n})(PS[\"App\"] = PS[\"App\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var InputButton = (function () {\n function InputButton() {\n\n };\n InputButton.value = new InputButton();\n return InputButton;\n })();\n var InputCheckbox = (function () {\n function InputCheckbox() {\n\n };\n InputCheckbox.value = new InputCheckbox();\n return InputCheckbox;\n })();\n var InputColor = (function () {\n function InputColor() {\n\n };\n InputColor.value = new InputColor();\n return InputColor;\n })();\n var InputDate = (function () {\n function InputDate() {\n\n };\n InputDate.value = new InputDate();\n return InputDate;\n })();\n var InputDatetimeLocal = (function () {\n function InputDatetimeLocal() {\n\n };\n InputDatetimeLocal.value = new InputDatetimeLocal();\n return InputDatetimeLocal;\n })();\n var InputEmail = (function () {\n function InputEmail() {\n\n };\n InputEmail.value = new InputEmail();\n return InputEmail;\n })();\n var InputFile = (function () {\n function InputFile() {\n\n };\n InputFile.value = new InputFile();\n return InputFile;\n })();\n var InputHidden = (function () {\n function InputHidden() {\n\n };\n InputHidden.value = new InputHidden();\n return InputHidden;\n })();\n var InputImage = (function () {\n function InputImage() {\n\n };\n InputImage.value = new InputImage();\n return InputImage;\n })();\n var InputMonth = (function () {\n function InputMonth() {\n\n };\n InputMonth.value = new InputMonth();\n return InputMonth;\n })();\n var InputNumber = (function () {\n function InputNumber() {\n\n };\n InputNumber.value = new InputNumber();\n return InputNumber;\n })();\n var InputPassword = (function () {\n function InputPassword() {\n\n };\n InputPassword.value = new InputPassword();\n return InputPassword;\n })();\n var InputRadio = (function () {\n function InputRadio() {\n\n };\n InputRadio.value = new InputRadio();\n return InputRadio;\n })();\n var InputRange = (function () {\n function InputRange() {\n\n };\n InputRange.value = new InputRange();\n return InputRange;\n })();\n var InputReset = (function () {\n function InputReset() {\n\n };\n InputReset.value = new InputReset();\n return InputReset;\n })();\n var InputSearch = (function () {\n function InputSearch() {\n\n };\n InputSearch.value = new InputSearch();\n return InputSearch;\n })();\n var InputSubmit = (function () {\n function InputSubmit() {\n\n };\n InputSubmit.value = new InputSubmit();\n return InputSubmit;\n })();\n var InputTel = (function () {\n function InputTel() {\n\n };\n InputTel.value = new InputTel();\n return InputTel;\n })();\n var InputText = (function () {\n function InputText() {\n\n };\n InputText.value = new InputText();\n return InputText;\n })();\n var InputTime = (function () {\n function InputTime() {\n\n };\n InputTime.value = new InputTime();\n return InputTime;\n })();\n var InputUrl = (function () {\n function InputUrl() {\n\n };\n InputUrl.value = new InputUrl();\n return InputUrl;\n })();\n var InputWeek = (function () {\n function InputWeek() {\n\n };\n InputWeek.value = new InputWeek();\n return InputWeek;\n })();\n var renderInputType = function (v) {\n if (v instanceof InputButton) {\n return \"button\";\n };\n if (v instanceof InputCheckbox) {\n return \"checkbox\";\n };\n if (v instanceof InputColor) {\n return \"color\";\n };\n if (v instanceof InputDate) {\n return \"date\";\n };\n if (v instanceof InputDatetimeLocal) {\n return \"datetime-local\";\n };\n if (v instanceof InputEmail) {\n return \"email\";\n };\n if (v instanceof InputFile) {\n return \"file\";\n };\n if (v instanceof InputHidden) {\n return \"hidden\";\n };\n if (v instanceof InputImage) {\n return \"image\";\n };\n if (v instanceof InputMonth) {\n return \"month\";\n };\n if (v instanceof InputNumber) {\n return \"number\";\n };\n if (v instanceof InputPassword) {\n return \"password\";\n };\n if (v instanceof InputRadio) {\n return \"radio\";\n };\n if (v instanceof InputRange) {\n return \"range\";\n };\n if (v instanceof InputReset) {\n return \"reset\";\n };\n if (v instanceof InputSearch) {\n return \"search\";\n };\n if (v instanceof InputSubmit) {\n return \"submit\";\n };\n if (v instanceof InputTel) {\n return \"tel\";\n };\n if (v instanceof InputText) {\n return \"text\";\n };\n if (v instanceof InputTime) {\n return \"time\";\n };\n if (v instanceof InputUrl) {\n return \"url\";\n };\n if (v instanceof InputWeek) {\n return \"week\";\n };\n throw new Error(\"Failed pattern match at DOM.HTML.Indexed.InputType (line 28, column 19 - line 50, column 16): \" + [ v.constructor.name ]);\n };\n exports[\"InputButton\"] = InputButton;\n exports[\"InputCheckbox\"] = InputCheckbox;\n exports[\"InputColor\"] = InputColor;\n exports[\"InputDate\"] = InputDate;\n exports[\"InputDatetimeLocal\"] = InputDatetimeLocal;\n exports[\"InputEmail\"] = InputEmail;\n exports[\"InputFile\"] = InputFile;\n exports[\"InputHidden\"] = InputHidden;\n exports[\"InputImage\"] = InputImage;\n exports[\"InputMonth\"] = InputMonth;\n exports[\"InputNumber\"] = InputNumber;\n exports[\"InputPassword\"] = InputPassword;\n exports[\"InputRadio\"] = InputRadio;\n exports[\"InputRange\"] = InputRange;\n exports[\"InputReset\"] = InputReset;\n exports[\"InputSearch\"] = InputSearch;\n exports[\"InputSubmit\"] = InputSubmit;\n exports[\"InputTel\"] = InputTel;\n exports[\"InputText\"] = InputText;\n exports[\"InputTime\"] = InputTime;\n exports[\"InputUrl\"] = InputUrl;\n exports[\"InputWeek\"] = InputWeek;\n exports[\"renderInputType\"] = renderInputType;\n})(PS[\"DOM.HTML.Indexed.InputType\"] = PS[\"DOM.HTML.Indexed.InputType\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Prelude = PS[\"Prelude\"]; \n var Profunctor = function (dimap) {\n this.dimap = dimap;\n };\n var profunctorFn = new Profunctor(function (a2b) {\n return function (c2d) {\n return function (b2c) {\n return function ($9) {\n return c2d(b2c(a2b($9)));\n };\n };\n };\n });\n var dimap = function (dict) {\n return dict.dimap;\n };\n var rmap = function (dictProfunctor) {\n return function (b2c) {\n return dimap(dictProfunctor)(Control_Category.identity(Control_Category.categoryFn))(b2c);\n };\n };\n exports[\"dimap\"] = dimap;\n exports[\"Profunctor\"] = Profunctor;\n exports[\"rmap\"] = rmap;\n exports[\"profunctorFn\"] = profunctorFn;\n})(PS[\"Data.Profunctor\"] = PS[\"Data.Profunctor\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Profunctor = PS[\"Data.Profunctor\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"]; \n var Strong = function (Profunctor0, first, second) {\n this.Profunctor0 = Profunctor0;\n this.first = first;\n this.second = second;\n };\n var strongFn = new Strong(function () {\n return Data_Profunctor.profunctorFn;\n }, function (a2b) {\n return function (v) {\n return new Data_Tuple.Tuple(a2b(v.value0), v.value1);\n };\n }, Data_Functor.map(Data_Tuple.functorTuple));\n var second = function (dict) {\n return dict.second;\n };\n var first = function (dict) {\n return dict.first;\n };\n exports[\"first\"] = first;\n exports[\"second\"] = second;\n exports[\"Strong\"] = Strong;\n exports[\"strongFn\"] = strongFn;\n})(PS[\"Data.Profunctor.Strong\"] = PS[\"Data.Profunctor.Strong\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Const = PS[\"Data.Const\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Lens_Internal_Wander = PS[\"Data.Lens.Internal.Wander\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Profunctor = PS[\"Data.Profunctor\"];\n var Data_Profunctor_Choice = PS[\"Data.Profunctor.Choice\"];\n var Data_Profunctor_Cochoice = PS[\"Data.Profunctor.Cochoice\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"]; \n var Forget = function (x) {\n return x;\n };\n var profunctorForget = new Data_Profunctor.Profunctor(function (f) {\n return function (v) {\n return function (v1) {\n return function ($27) {\n return v1(f($27));\n };\n };\n };\n });\n var strongForget = new Data_Profunctor_Strong.Strong(function () {\n return profunctorForget;\n }, function (v) {\n return function ($28) {\n return v(Data_Tuple.fst($28));\n };\n }, function (v) {\n return function ($29) {\n return v(Data_Tuple.snd($29));\n };\n });\n var newtypeForget = new Data_Newtype.Newtype(function (n) {\n return n;\n }, Forget);\n exports[\"Forget\"] = Forget;\n exports[\"newtypeForget\"] = newtypeForget;\n exports[\"profunctorForget\"] = profunctorForget;\n exports[\"strongForget\"] = strongForget;\n})(PS[\"Data.Lens.Internal.Forget\"] = PS[\"Data.Lens.Internal.Forget\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Lens_Internal_Forget = PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Internal_Indexed = PS[\"Data.Lens.Internal.Indexed\"];\n var Data_Lens_Types = PS[\"Data.Lens.Types\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"]; \n var view = function (l) {\n return Data_Newtype.unwrap(Data_Lens_Internal_Forget.newtypeForget)(l(Control_Category.identity(Control_Category.categoryFn)));\n };\n var viewOn = function (s) {\n return function (l) {\n return view(l)(s);\n };\n };\n var use = function (dictMonadState) {\n return function (p) {\n return Control_Monad_State_Class.gets(dictMonadState)(function (v) {\n return viewOn(v)(p);\n });\n };\n };\n exports[\"viewOn\"] = viewOn;\n exports[\"view\"] = view;\n exports[\"use\"] = use;\n})(PS[\"Data.Lens.Getter\"] = PS[\"Data.Lens.Getter\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Data_Lens_Internal_Indexed = PS[\"Data.Lens.Internal.Indexed\"];\n var Data_Lens_Internal_Shop = PS[\"Data.Lens.Internal.Shop\"];\n var Data_Lens_Types = PS[\"Data.Lens.Types\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Profunctor = PS[\"Data.Profunctor\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"];\n var lens$prime = function (to) {\n return function (dictStrong) {\n return function (pab) {\n return Data_Profunctor.dimap(dictStrong.Profunctor0())(to)(function (v) {\n return v.value1(v.value0);\n })(Data_Profunctor_Strong.first(dictStrong)(pab));\n };\n };\n };\n var lens = function (get) {\n return function (set) {\n return function (dictStrong) {\n return lens$prime(function (s) {\n return new Data_Tuple.Tuple(get(s), function (b) {\n return set(s)(b);\n });\n })(dictStrong);\n };\n };\n };\n exports[\"lens\"] = lens;\n})(PS[\"Data.Lens.Lens\"] = PS[\"Data.Lens.Lens\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_EuclideanRing = PS[\"Data.EuclideanRing\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Lens_Internal_Indexed = PS[\"Data.Lens.Internal.Indexed\"];\n var Data_Lens_Types = PS[\"Data.Lens.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"]; \n var over = function (l) {\n return l;\n };\n var set = function (l) {\n return function (b) {\n return over(l)(Data_Function[\"const\"](b));\n };\n };\n var modifying = function (dictMonadState) {\n return function (p) {\n return function (f) {\n return Data_Functor[\"void\"]((((dictMonadState.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_State_Class.modify(dictMonadState)(over(p)(f)));\n };\n };\n };\n var assign = function (dictMonadState) {\n return function (p) {\n return function (b) {\n return Data_Functor[\"void\"]((((dictMonadState.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_State_Class.modify(dictMonadState)(set(p)(b)));\n };\n };\n };\n exports[\"over\"] = over;\n exports[\"set\"] = set;\n exports[\"assign\"] = assign;\n exports[\"modifying\"] = modifying;\n})(PS[\"Data.Lens.Setter\"] = PS[\"Data.Lens.Setter\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad_Cont_Trans = PS[\"Control.Monad.Cont.Trans\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Monad_List_Trans = PS[\"Control.Monad.List.Trans\"];\n var Control_Monad_Maybe_Trans = PS[\"Control.Monad.Maybe.Trans\"];\n var Control_Monad_RWS_Trans = PS[\"Control.Monad.RWS.Trans\"];\n var Control_Monad_Reader_Trans = PS[\"Control.Monad.Reader.Trans\"];\n var Control_Monad_State_Trans = PS[\"Control.Monad.State.Trans\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Monad_Writer_Trans = PS[\"Control.Monad.Writer.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Prelude = PS[\"Prelude\"]; \n var MonadAff = function (MonadEffect0, liftAff) {\n this.MonadEffect0 = MonadEffect0;\n this.liftAff = liftAff;\n };\n var monadAffAff = new MonadAff(function () {\n return Effect_Aff.monadEffectAff;\n }, Control_Category.identity(Control_Category.categoryFn));\n var liftAff = function (dict) {\n return dict.liftAff;\n };\n exports[\"liftAff\"] = liftAff;\n exports[\"MonadAff\"] = MonadAff;\n exports[\"monadAffAff\"] = monadAffAff;\n})(PS[\"Effect.Aff.Class\"] = PS[\"Effect.Aff.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"]; \n var runExists = Unsafe_Coerce.unsafeCoerce;\n var mkExists = Unsafe_Coerce.unsafeCoerce;\n exports[\"mkExists\"] = mkExists;\n exports[\"runExists\"] = runExists;\n})(PS[\"Data.Exists\"] = PS[\"Data.Exists\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Comonad = PS[\"Control.Comonad\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Distributive = PS[\"Data.Distributive\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Exists = PS[\"Data.Exists\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Invariant = PS[\"Data.Functor.Invariant\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Prelude = PS[\"Prelude\"]; \n var CoyonedaF = (function () {\n function CoyonedaF(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n CoyonedaF.create = function (value0) {\n return function (value1) {\n return new CoyonedaF(value0, value1);\n };\n };\n return CoyonedaF;\n })();\n var Coyoneda = function (x) {\n return x;\n };\n var unCoyoneda = function (f) {\n return function (v) {\n return Data_Exists.runExists(function (v1) {\n return f(v1.value0)(v1.value1);\n })(v);\n };\n };\n var coyoneda = function (k) {\n return function (fi) {\n return Coyoneda(Data_Exists.mkExists(new CoyonedaF(k, fi)));\n };\n };\n var functorCoyoneda = new Data_Functor.Functor(function (f) {\n return function (v) {\n return Data_Exists.runExists(function (v1) {\n return coyoneda(function ($84) {\n return f(v1.value0($84));\n })(v1.value1);\n })(v);\n };\n });\n var liftCoyoneda = coyoneda(Control_Category.identity(Control_Category.categoryFn));\n exports[\"Coyoneda\"] = Coyoneda;\n exports[\"coyoneda\"] = coyoneda;\n exports[\"unCoyoneda\"] = unCoyoneda;\n exports[\"liftCoyoneda\"] = liftCoyoneda;\n exports[\"functorCoyoneda\"] = functorCoyoneda;\n})(PS[\"Data.Coyoneda\"] = PS[\"Data.Coyoneda\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Lazy = PS[\"Data.List.Lazy\"];\n var Data_List_Lazy_Types = PS[\"Data.List.Lazy.Types\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"]; \n var Leaf = (function () {\n function Leaf() {\n\n };\n Leaf.value = new Leaf();\n return Leaf;\n })();\n var Two = (function () {\n function Two(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Two.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Two(value0, value1, value2, value3);\n };\n };\n };\n };\n return Two;\n })();\n var Three = (function () {\n function Three(value0, value1, value2, value3, value4, value5, value6) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n this.value6 = value6;\n };\n Three.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return function (value6) {\n return new Three(value0, value1, value2, value3, value4, value5, value6);\n };\n };\n };\n };\n };\n };\n };\n return Three;\n })();\n var TwoLeft = (function () {\n function TwoLeft(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n TwoLeft.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new TwoLeft(value0, value1, value2);\n };\n };\n };\n return TwoLeft;\n })();\n var TwoRight = (function () {\n function TwoRight(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n TwoRight.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new TwoRight(value0, value1, value2);\n };\n };\n };\n return TwoRight;\n })();\n var ThreeLeft = (function () {\n function ThreeLeft(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ThreeLeft.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ThreeLeft(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ThreeLeft;\n })();\n var ThreeMiddle = (function () {\n function ThreeMiddle(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ThreeMiddle.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ThreeMiddle(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ThreeMiddle;\n })();\n var ThreeRight = (function () {\n function ThreeRight(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ThreeRight.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ThreeRight(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ThreeRight;\n })();\n var KickUp = (function () {\n function KickUp(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n KickUp.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new KickUp(value0, value1, value2, value3);\n };\n };\n };\n };\n return KickUp;\n })();\n var values = function (v) {\n if (v instanceof Leaf) {\n return Data_List_Types.Nil.value;\n };\n if (v instanceof Two) {\n return Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value2))(values(v.value3)));\n };\n if (v instanceof Three) {\n return Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value2))(Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value3))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value5))(values(v.value6)))));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 612, column 1 - line 612, column 40): \" + [ v.constructor.name ]);\n };\n var lookup = function (dictOrd) {\n return function (k) {\n var comp = Data_Ord.compare(dictOrd);\n var go = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v instanceof Leaf) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n if (v instanceof Two) {\n var v2 = comp(k)(v.value1);\n if (v2 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value2);\n };\n if (v2 instanceof Data_Ordering.LT) {\n $copy_v = v.value0;\n return;\n };\n $copy_v = v.value3;\n return;\n };\n if (v instanceof Three) {\n var v3 = comp(k)(v.value1);\n if (v3 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value2);\n };\n var v4 = comp(k)(v.value4);\n if (v4 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value5);\n };\n if (v3 instanceof Data_Ordering.LT) {\n $copy_v = v.value0;\n return;\n };\n if (v4 instanceof Data_Ordering.GT) {\n $copy_v = v.value6;\n return;\n };\n $copy_v = v.value3;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 200, column 5 - line 200, column 22): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n return go;\n };\n };\n var member = function (dictOrd) {\n return function (k) {\n return function (m) {\n return Data_Maybe.isJust(lookup(dictOrd)(k)(m));\n };\n };\n };\n var functorMap = new Data_Functor.Functor(function (v) {\n return function (v1) {\n if (v1 instanceof Leaf) {\n return Leaf.value;\n };\n if (v1 instanceof Two) {\n return new Two(Data_Functor.map(functorMap)(v)(v1.value0), v1.value1, v(v1.value2), Data_Functor.map(functorMap)(v)(v1.value3));\n };\n if (v1 instanceof Three) {\n return new Three(Data_Functor.map(functorMap)(v)(v1.value0), v1.value1, v(v1.value2), Data_Functor.map(functorMap)(v)(v1.value3), v1.value4, v(v1.value5), Data_Functor.map(functorMap)(v)(v1.value6));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 96, column 1 - line 96, column 39): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n var fromZipper = function ($copy_dictOrd) {\n return function ($copy_v) {\n return function ($copy_tree) {\n var $tco_var_dictOrd = $copy_dictOrd;\n var $tco_var_v = $copy_v;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(dictOrd, v, tree) {\n if (v instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return tree;\n };\n if (v instanceof Data_List_Types.Cons) {\n if (v.value0 instanceof TwoLeft) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Two(tree, v.value0.value0, v.value0.value1, v.value0.value2);\n return;\n };\n if (v.value0 instanceof TwoRight) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Two(v.value0.value0, v.value0.value1, v.value0.value2, tree);\n return;\n };\n if (v.value0 instanceof ThreeLeft) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Three(tree, v.value0.value0, v.value0.value1, v.value0.value2, v.value0.value3, v.value0.value4, v.value0.value5);\n return;\n };\n if (v.value0 instanceof ThreeMiddle) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Three(v.value0.value0, v.value0.value1, v.value0.value2, tree, v.value0.value3, v.value0.value4, v.value0.value5);\n return;\n };\n if (v.value0 instanceof ThreeRight) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Three(v.value0.value0, v.value0.value1, v.value0.value2, v.value0.value3, v.value0.value4, v.value0.value5, tree);\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 418, column 3 - line 423, column 88): \" + [ v.value0.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 415, column 1 - line 415, column 80): \" + [ v.constructor.name, tree.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_dictOrd, $tco_var_v, $copy_tree);\n };\n return $tco_result;\n };\n };\n };\n var insert = function (dictOrd) {\n return function (k) {\n return function (v) {\n var up = function ($copy_v1) {\n return function ($copy_v2) {\n var $tco_var_v1 = $copy_v1;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v1, v2) {\n if (v1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Two(v2.value0, v2.value1, v2.value2, v2.value3);\n };\n if (v1 instanceof Data_List_Types.Cons) {\n if (v1.value0 instanceof TwoLeft) {\n $tco_done = true;\n return fromZipper(dictOrd)(v1.value1)(new Three(v2.value0, v2.value1, v2.value2, v2.value3, v1.value0.value0, v1.value0.value1, v1.value0.value2));\n };\n if (v1.value0 instanceof TwoRight) {\n $tco_done = true;\n return fromZipper(dictOrd)(v1.value1)(new Three(v1.value0.value0, v1.value0.value1, v1.value0.value2, v2.value0, v2.value1, v2.value2, v2.value3));\n };\n if (v1.value0 instanceof ThreeLeft) {\n $tco_var_v1 = v1.value1;\n $copy_v2 = new KickUp(new Two(v2.value0, v2.value1, v2.value2, v2.value3), v1.value0.value0, v1.value0.value1, new Two(v1.value0.value2, v1.value0.value3, v1.value0.value4, v1.value0.value5));\n return;\n };\n if (v1.value0 instanceof ThreeMiddle) {\n $tco_var_v1 = v1.value1;\n $copy_v2 = new KickUp(new Two(v1.value0.value0, v1.value0.value1, v1.value0.value2, v2.value0), v2.value1, v2.value2, new Two(v2.value3, v1.value0.value3, v1.value0.value4, v1.value0.value5));\n return;\n };\n if (v1.value0 instanceof ThreeRight) {\n $tco_var_v1 = v1.value1;\n $copy_v2 = new KickUp(new Two(v1.value0.value0, v1.value0.value1, v1.value0.value2, v1.value0.value3), v1.value0.value4, v1.value0.value5, new Two(v2.value0, v2.value1, v2.value2, v2.value3));\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 454, column 5 - line 459, column 108): \" + [ v1.value0.constructor.name, v2.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 451, column 3 - line 451, column 56): \" + [ v1.constructor.name, v2.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_v1, $copy_v2);\n };\n return $tco_result;\n };\n };\n var comp = Data_Ord.compare(dictOrd);\n var down = function ($copy_ctx) {\n return function ($copy_v1) {\n var $tco_var_ctx = $copy_ctx;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctx, v1) {\n if (v1 instanceof Leaf) {\n $tco_done = true;\n return up(ctx)(new KickUp(Leaf.value, k, v, Leaf.value));\n };\n if (v1 instanceof Two) {\n var v2 = comp(k)(v1.value1);\n if (v2 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctx)(new Two(v1.value0, k, v, v1.value3));\n };\n if (v2 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new TwoLeft(v1.value1, v1.value2, v1.value3), ctx);\n $copy_v1 = v1.value0;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(v1.value0, v1.value1, v1.value2), ctx);\n $copy_v1 = v1.value3;\n return;\n };\n if (v1 instanceof Three) {\n var v3 = comp(k)(v1.value1);\n if (v3 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctx)(new Three(v1.value0, k, v, v1.value3, v1.value4, v1.value5, v1.value6));\n };\n var v4 = comp(k)(v1.value4);\n if (v4 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctx)(new Three(v1.value0, v1.value1, v1.value2, v1.value3, k, v, v1.value6));\n };\n if (v3 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeLeft(v1.value1, v1.value2, v1.value3, v1.value4, v1.value5, v1.value6), ctx);\n $copy_v1 = v1.value0;\n return;\n };\n if (v3 instanceof Data_Ordering.GT && v4 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeMiddle(v1.value0, v1.value1, v1.value2, v1.value4, v1.value5, v1.value6), ctx);\n $copy_v1 = v1.value3;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(v1.value0, v1.value1, v1.value2, v1.value3, v1.value4, v1.value5), ctx);\n $copy_v1 = v1.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 434, column 3 - line 434, column 55): \" + [ ctx.constructor.name, v1.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctx, $copy_v1);\n };\n return $tco_result;\n };\n };\n return down(Data_List_Types.Nil.value);\n };\n };\n };\n var pop = function (dictOrd) {\n return function (k) {\n var up = function ($copy_ctxs) {\n return function ($copy_tree) {\n var $tco_var_ctxs = $copy_ctxs;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctxs, tree) {\n if (ctxs instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return tree;\n };\n if (ctxs instanceof Data_List_Types.Cons) {\n if (ctxs.value0 instanceof TwoLeft && (ctxs.value0.value2 instanceof Leaf && tree instanceof Leaf)) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(Leaf.value, ctxs.value0.value0, ctxs.value0.value1, Leaf.value));\n };\n if (ctxs.value0 instanceof TwoRight && (ctxs.value0.value0 instanceof Leaf && tree instanceof Leaf)) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value));\n };\n if (ctxs.value0 instanceof TwoLeft && ctxs.value0.value2 instanceof Two) {\n $tco_var_ctxs = ctxs.value1;\n $copy_tree = new Three(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0, ctxs.value0.value2.value1, ctxs.value0.value2.value2, ctxs.value0.value2.value3);\n return;\n };\n if (ctxs.value0 instanceof TwoRight && ctxs.value0.value0 instanceof Two) {\n $tco_var_ctxs = ctxs.value1;\n $copy_tree = new Three(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3, ctxs.value0.value1, ctxs.value0.value2, tree);\n return;\n };\n if (ctxs.value0 instanceof TwoLeft && ctxs.value0.value2 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(new Two(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0), ctxs.value0.value2.value1, ctxs.value0.value2.value2, new Two(ctxs.value0.value2.value3, ctxs.value0.value2.value4, ctxs.value0.value2.value5, ctxs.value0.value2.value6)));\n };\n if (ctxs.value0 instanceof TwoRight && ctxs.value0.value0 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(new Two(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3), ctxs.value0.value0.value4, ctxs.value0.value0.value5, new Two(ctxs.value0.value0.value6, ctxs.value0.value1, ctxs.value0.value2, tree)));\n };\n if (ctxs.value0 instanceof ThreeLeft && (ctxs.value0.value2 instanceof Leaf && (ctxs.value0.value5 instanceof Leaf && tree instanceof Leaf))) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value0, ctxs.value0.value1, Leaf.value, ctxs.value0.value3, ctxs.value0.value4, Leaf.value));\n };\n if (ctxs.value0 instanceof ThreeMiddle && (ctxs.value0.value0 instanceof Leaf && (ctxs.value0.value5 instanceof Leaf && tree instanceof Leaf))) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value, ctxs.value0.value3, ctxs.value0.value4, Leaf.value));\n };\n if (ctxs.value0 instanceof ThreeRight && (ctxs.value0.value0 instanceof Leaf && (ctxs.value0.value3 instanceof Leaf && tree instanceof Leaf))) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value, ctxs.value0.value4, ctxs.value0.value5, Leaf.value));\n };\n if (ctxs.value0 instanceof ThreeLeft && ctxs.value0.value2 instanceof Two) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(new Three(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0, ctxs.value0.value2.value1, ctxs.value0.value2.value2, ctxs.value0.value2.value3), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value0 instanceof Two) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(new Three(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3, ctxs.value0.value1, ctxs.value0.value2, tree), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value5 instanceof Two) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Three(tree, ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5.value0, ctxs.value0.value5.value1, ctxs.value0.value5.value2, ctxs.value0.value5.value3)));\n };\n if (ctxs.value0 instanceof ThreeRight && ctxs.value0.value3 instanceof Two) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Three(ctxs.value0.value3.value0, ctxs.value0.value3.value1, ctxs.value0.value3.value2, ctxs.value0.value3.value3, ctxs.value0.value4, ctxs.value0.value5, tree)));\n };\n if (ctxs.value0 instanceof ThreeLeft && ctxs.value0.value2 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(new Two(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0), ctxs.value0.value2.value1, ctxs.value0.value2.value2, new Two(ctxs.value0.value2.value3, ctxs.value0.value2.value4, ctxs.value0.value2.value5, ctxs.value0.value2.value6), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value0 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(new Two(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3), ctxs.value0.value0.value4, ctxs.value0.value0.value5, new Two(ctxs.value0.value0.value6, ctxs.value0.value1, ctxs.value0.value2, tree), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value5 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Two(tree, ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5.value0), ctxs.value0.value5.value1, ctxs.value0.value5.value2, new Two(ctxs.value0.value5.value3, ctxs.value0.value5.value4, ctxs.value0.value5.value5, ctxs.value0.value5.value6)));\n };\n if (ctxs.value0 instanceof ThreeRight && ctxs.value0.value3 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Two(ctxs.value0.value3.value0, ctxs.value0.value3.value1, ctxs.value0.value3.value2, ctxs.value0.value3.value3), ctxs.value0.value3.value4, ctxs.value0.value3.value5, new Two(ctxs.value0.value3.value6, ctxs.value0.value4, ctxs.value0.value5, tree)));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 511, column 9 - line 528, column 136): \" + [ ctxs.value0.constructor.name, tree.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 508, column 5 - line 528, column 136): \" + [ ctxs.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctxs, $copy_tree);\n };\n return $tco_result;\n };\n };\n var removeMaxNode = function ($copy_ctx) {\n return function ($copy_m) {\n var $tco_var_ctx = $copy_ctx;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctx, m) {\n if (m instanceof Two && (m.value0 instanceof Leaf && m.value3 instanceof Leaf)) {\n $tco_done = true;\n return up(ctx)(Leaf.value);\n };\n if (m instanceof Two) {\n $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(m.value0, m.value1, m.value2), ctx);\n $copy_m = m.value3;\n return;\n };\n if (m instanceof Three && (m.value0 instanceof Leaf && (m.value3 instanceof Leaf && m.value6 instanceof Leaf))) {\n $tco_done = true;\n return up(new Data_List_Types.Cons(new TwoRight(Leaf.value, m.value1, m.value2), ctx))(Leaf.value);\n };\n if (m instanceof Three) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(m.value0, m.value1, m.value2, m.value3, m.value4, m.value5), ctx);\n $copy_m = m.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 540, column 5 - line 544, column 107): \" + [ m.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctx, $copy_m);\n };\n return $tco_result;\n };\n };\n var maxNode = function ($copy_m) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(m) {\n if (m instanceof Two && m.value3 instanceof Leaf) {\n $tco_done = true;\n return {\n key: m.value1,\n value: m.value2\n };\n };\n if (m instanceof Two) {\n $copy_m = m.value3;\n return;\n };\n if (m instanceof Three && m.value6 instanceof Leaf) {\n $tco_done = true;\n return {\n key: m.value4,\n value: m.value5\n };\n };\n if (m instanceof Three) {\n $copy_m = m.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 531, column 33 - line 535, column 45): \" + [ m.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_m);\n };\n return $tco_result;\n };\n var comp = Data_Ord.compare(dictOrd);\n var down = function ($copy_ctx) {\n return function ($copy_m) {\n var $tco_var_ctx = $copy_ctx;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctx, m) {\n if (m instanceof Leaf) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n if (m instanceof Two) {\n var v = comp(k)(m.value1);\n if (m.value3 instanceof Leaf && v instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, up(ctx)(Leaf.value)));\n };\n if (v instanceof Data_Ordering.EQ) {\n var max = maxNode(m.value0);\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, removeMaxNode(new Data_List_Types.Cons(new TwoLeft(max.key, max.value, m.value3), ctx))(m.value0)));\n };\n if (v instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new TwoLeft(m.value1, m.value2, m.value3), ctx);\n $copy_m = m.value0;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(m.value0, m.value1, m.value2), ctx);\n $copy_m = m.value3;\n return;\n };\n if (m instanceof Three) {\n var leaves = (function () {\n if (m.value0 instanceof Leaf && (m.value3 instanceof Leaf && m.value6 instanceof Leaf)) {\n return true;\n };\n return false;\n })();\n var v = comp(k)(m.value4);\n var v3 = comp(k)(m.value1);\n if (leaves && v3 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, fromZipper(dictOrd)(ctx)(new Two(Leaf.value, m.value4, m.value5, Leaf.value))));\n };\n if (leaves && v instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value5, fromZipper(dictOrd)(ctx)(new Two(Leaf.value, m.value1, m.value2, Leaf.value))));\n };\n if (v3 instanceof Data_Ordering.EQ) {\n var max = maxNode(m.value0);\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, removeMaxNode(new Data_List_Types.Cons(new ThreeLeft(max.key, max.value, m.value3, m.value4, m.value5, m.value6), ctx))(m.value0)));\n };\n if (v instanceof Data_Ordering.EQ) {\n var max = maxNode(m.value3);\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value5, removeMaxNode(new Data_List_Types.Cons(new ThreeMiddle(m.value0, m.value1, m.value2, max.key, max.value, m.value6), ctx))(m.value3)));\n };\n if (v3 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeLeft(m.value1, m.value2, m.value3, m.value4, m.value5, m.value6), ctx);\n $copy_m = m.value0;\n return;\n };\n if (v3 instanceof Data_Ordering.GT && v instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeMiddle(m.value0, m.value1, m.value2, m.value4, m.value5, m.value6), ctx);\n $copy_m = m.value3;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(m.value0, m.value1, m.value2, m.value3, m.value4, m.value5), ctx);\n $copy_m = m.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 481, column 34 - line 504, column 80): \" + [ m.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctx, $copy_m);\n };\n return $tco_result;\n };\n };\n return down(Data_List_Types.Nil.value);\n };\n };\n var foldableMap = new Data_Foldable.Foldable(function (dictMonoid) {\n return function (f) {\n return function (m) {\n return Data_Foldable.foldMap(Data_List_Types.foldableList)(dictMonoid)(f)(values(m));\n };\n };\n }, function (f) {\n return function (z) {\n return function (m) {\n return Data_Foldable.foldl(Data_List_Types.foldableList)(f)(z)(values(m));\n };\n };\n }, function (f) {\n return function (z) {\n return function (m) {\n return Data_Foldable.foldr(Data_List_Types.foldableList)(f)(z)(values(m));\n };\n };\n });\n var empty = Leaf.value;\n var $$delete = function (dictOrd) {\n return function (k) {\n return function (m) {\n return Data_Maybe.maybe(m)(Data_Tuple.snd)(pop(dictOrd)(k)(m));\n };\n };\n }; \n var alter = function (dictOrd) {\n return function (f) {\n return function (k) {\n return function (m) {\n var v = f(lookup(dictOrd)(k)(m));\n if (v instanceof Data_Maybe.Nothing) {\n return $$delete(dictOrd)(k)(m);\n };\n if (v instanceof Data_Maybe.Just) {\n return insert(dictOrd)(k)(v.value0)(m);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 549, column 15 - line 551, column 25): \" + [ v.constructor.name ]);\n };\n };\n };\n };\n exports[\"empty\"] = empty;\n exports[\"insert\"] = insert;\n exports[\"lookup\"] = lookup;\n exports[\"delete\"] = $$delete;\n exports[\"pop\"] = pop;\n exports[\"member\"] = member;\n exports[\"alter\"] = alter;\n exports[\"values\"] = values;\n exports[\"functorMap\"] = functorMap;\n exports[\"foldableMap\"] = foldableMap;\n})(PS[\"Data.Map.Internal\"] = PS[\"Data.Map.Internal\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Prelude = PS[\"Prelude\"]; \n var OrdBox = (function () {\n function OrdBox(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n OrdBox.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new OrdBox(value0, value1, value2);\n };\n };\n };\n return OrdBox;\n })();\n var mkOrdBox = function (dictOrd) {\n return OrdBox.create(Data_Eq.eq(dictOrd.Eq0()))(Data_Ord.compare(dictOrd));\n };\n var eqOrdBox = new Data_Eq.Eq(function (v) {\n return function (v1) {\n return v.value0(v.value2)(v1.value2);\n };\n });\n var ordOrdBox = new Data_Ord.Ord(function () {\n return eqOrdBox;\n }, function (v) {\n return function (v1) {\n return v.value1(v.value2)(v1.value2);\n };\n });\n exports[\"mkOrdBox\"] = mkOrdBox;\n exports[\"eqOrdBox\"] = eqOrdBox;\n exports[\"ordOrdBox\"] = ordOrdBox;\n})(PS[\"Halogen.Data.OrdBox\"] = PS[\"Halogen.Data.OrdBox\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Map = PS[\"Data.Map\"];\n var Data_Map_Internal = PS[\"Data.Map.Internal\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Halogen_Data_OrdBox = PS[\"Halogen.Data.OrdBox\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var pop = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (sym) {\n return function (key) {\n return function (v) {\n return Data_Map_Internal.pop(Data_Tuple.ordTuple(Data_Ord.ordString)(Halogen_Data_OrdBox.ordOrdBox))(new Data_Tuple.Tuple(Data_Symbol.reflectSymbol(dictIsSymbol)(sym), Halogen_Data_OrdBox.mkOrdBox(dictOrd)(key)))(v);\n };\n };\n };\n };\n };\n };\n var lookup = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (sym) {\n return function (key) {\n return function (v) {\n return Data_Map_Internal.lookup(Data_Tuple.ordTuple(Data_Ord.ordString)(Halogen_Data_OrdBox.ordOrdBox))(new Data_Tuple.Tuple(Data_Symbol.reflectSymbol(dictIsSymbol)(sym), Halogen_Data_OrdBox.mkOrdBox(dictOrd)(key)))(v);\n };\n };\n };\n };\n };\n };\n var insert = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (sym) {\n return function (key) {\n return function (val) {\n return function (v) {\n return Data_Map_Internal.insert(Data_Tuple.ordTuple(Data_Ord.ordString)(Halogen_Data_OrdBox.ordOrdBox))(new Data_Tuple.Tuple(Data_Symbol.reflectSymbol(dictIsSymbol)(sym), Halogen_Data_OrdBox.mkOrdBox(dictOrd)(key)))(val)(v);\n };\n };\n };\n };\n };\n };\n };\n var foreachSlot = function (dictApplicative) {\n return function (v) {\n return function (k) {\n return Data_Foldable.traverse_(dictApplicative)(Data_Map_Internal.foldableMap)(function ($37) {\n return k($37);\n })(v);\n };\n };\n };\n var empty = Data_Map_Internal.empty;\n exports[\"empty\"] = empty;\n exports[\"lookup\"] = lookup;\n exports[\"insert\"] = insert;\n exports[\"pop\"] = pop;\n exports[\"foreachSlot\"] = foreachSlot;\n})(PS[\"Halogen.Data.Slot\"] = PS[\"Halogen.Data.Slot\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Const = PS[\"Data.Const\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_NonEmpty = PS[\"Data.List.NonEmpty\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_NonEmpty = PS[\"Data.NonEmpty\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"]; \n var Pure = (function () {\n function Pure(value0) {\n this.value0 = value0;\n };\n Pure.create = function (value0) {\n return new Pure(value0);\n };\n return Pure;\n })();\n var Lift = (function () {\n function Lift(value0) {\n this.value0 = value0;\n };\n Lift.create = function (value0) {\n return new Lift(value0);\n };\n return Lift;\n })();\n var Ap = (function () {\n function Ap(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Ap.create = function (value0) {\n return function (value1) {\n return new Ap(value0, value1);\n };\n };\n return Ap;\n })();\n var mkAp = function (fba) {\n return function (fb) {\n return new Ap(fba, fb);\n };\n };\n var liftFreeAp = Lift.create;\n var goLeft = function ($copy_dictApplicative) {\n return function ($copy_fStack) {\n return function ($copy_valStack) {\n return function ($copy_nat) {\n return function ($copy_func) {\n return function ($copy_count) {\n var $tco_var_dictApplicative = $copy_dictApplicative;\n var $tco_var_fStack = $copy_fStack;\n var $tco_var_valStack = $copy_valStack;\n var $tco_var_nat = $copy_nat;\n var $tco_var_func = $copy_func;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(dictApplicative, fStack, valStack, nat, func, count) {\n if (func instanceof Pure) {\n $tco_done = true;\n return new Data_Tuple.Tuple(new Data_List_Types.Cons({\n func: Control_Applicative.pure(dictApplicative)(func.value0),\n count: count\n }, fStack), valStack);\n };\n if (func instanceof Lift) {\n $tco_done = true;\n return new Data_Tuple.Tuple(new Data_List_Types.Cons({\n func: nat(func.value0),\n count: count\n }, fStack), valStack);\n };\n if (func instanceof Ap) {\n $tco_var_dictApplicative = dictApplicative;\n $tco_var_fStack = fStack;\n $tco_var_valStack = Data_List_NonEmpty.cons(func.value1)(valStack);\n $tco_var_nat = nat;\n $tco_var_func = func.value0;\n $copy_count = count + 1 | 0;\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 102, column 41 - line 105, column 81): \" + [ func.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_dictApplicative, $tco_var_fStack, $tco_var_valStack, $tco_var_nat, $tco_var_func, $copy_count);\n };\n return $tco_result;\n };\n };\n };\n };\n };\n };\n var goApply = function ($copy_dictApplicative) {\n return function ($copy_fStack) {\n return function ($copy_vals) {\n return function ($copy_gVal) {\n var $tco_var_dictApplicative = $copy_dictApplicative;\n var $tco_var_fStack = $copy_fStack;\n var $tco_var_vals = $copy_vals;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(dictApplicative, fStack, vals, gVal) {\n if (fStack instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Data_Either.Left(gVal);\n };\n if (fStack instanceof Data_List_Types.Cons) {\n var gRes = Control_Apply.apply(dictApplicative.Apply0())(fStack.value0.func)(gVal);\n var $14 = fStack.value0.count === 1;\n if ($14) {\n if (fStack.value1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Data_Either.Left(gRes);\n };\n $tco_var_dictApplicative = dictApplicative;\n $tco_var_fStack = fStack.value1;\n $tco_var_vals = vals;\n $copy_gVal = gRes;\n return;\n };\n if (vals instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Data_Either.Left(gRes);\n };\n if (vals instanceof Data_List_Types.Cons) {\n $tco_done = true;\n return Data_Either.Right.create(new Data_Tuple.Tuple(new Data_List_Types.Cons({\n func: gRes,\n count: fStack.value0.count - 1 | 0\n }, fStack.value1), new Data_NonEmpty.NonEmpty(vals.value0, vals.value1)));\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 83, column 11 - line 88, column 50): \" + [ vals.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 72, column 3 - line 88, column 50): \" + [ fStack.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_dictApplicative, $tco_var_fStack, $tco_var_vals, $copy_gVal);\n };\n return $tco_result;\n };\n };\n };\n };\n var functorFreeAp = new Data_Functor.Functor(function (f) {\n return function (x) {\n return mkAp(new Pure(f))(x);\n };\n });\n var foldFreeAp = function (dictApplicative) {\n return function (nat) {\n return function (z) {\n var go = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v.value1.value0 instanceof Pure) {\n var v1 = goApply(dictApplicative)(v.value0)(v.value1.value1)(Control_Applicative.pure(dictApplicative)(v.value1.value0.value0));\n if (v1 instanceof Data_Either.Left) {\n $tco_done = true;\n return v1.value0;\n };\n if (v1 instanceof Data_Either.Right) {\n $copy_v = v1.value0;\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 54, column 17 - line 56, column 24): \" + [ v1.constructor.name ]);\n };\n if (v.value1.value0 instanceof Lift) {\n var v1 = goApply(dictApplicative)(v.value0)(v.value1.value1)(nat(v.value1.value0.value0));\n if (v1 instanceof Data_Either.Left) {\n $tco_done = true;\n return v1.value0;\n };\n if (v1 instanceof Data_Either.Right) {\n $copy_v = v1.value0;\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 57, column 17 - line 59, column 24): \" + [ v1.constructor.name ]);\n };\n if (v.value1.value0 instanceof Ap) {\n var nextVals = new Data_NonEmpty.NonEmpty(v.value1.value0.value1, v.value1.value1);\n $copy_v = goLeft(dictApplicative)(v.value0)(nextVals)(nat)(v.value1.value0.value0)(1);\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 53, column 5 - line 64, column 1): \" + [ v.value1.value0.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n return go(new Data_Tuple.Tuple(Data_List_Types.Nil.value, Data_List_NonEmpty.singleton(z)));\n };\n };\n };\n var retractFreeAp = function (dictApplicative) {\n return foldFreeAp(dictApplicative)(Control_Category.identity(Control_Category.categoryFn));\n };\n var applyFreeAp = new Control_Apply.Apply(function () {\n return functorFreeAp;\n }, function (fba) {\n return function (fb) {\n return mkAp(fba)(fb);\n };\n });\n var applicativeFreeAp = new Control_Applicative.Applicative(function () {\n return applyFreeAp;\n }, Pure.create);\n var hoistFreeAp = function (f) {\n return foldFreeAp(applicativeFreeAp)(function ($37) {\n return liftFreeAp(f($37));\n });\n };\n exports[\"liftFreeAp\"] = liftFreeAp;\n exports[\"retractFreeAp\"] = retractFreeAp;\n exports[\"foldFreeAp\"] = foldFreeAp;\n exports[\"hoistFreeAp\"] = hoistFreeAp;\n exports[\"functorFreeAp\"] = functorFreeAp;\n exports[\"applyFreeAp\"] = applyFreeAp;\n exports[\"applicativeFreeAp\"] = applicativeFreeAp;\n})(PS[\"Control.Applicative.Free\"] = PS[\"Control.Applicative.Free\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Prelude = PS[\"Prelude\"]; \n var CatQueue = (function () {\n function CatQueue(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n CatQueue.create = function (value0) {\n return function (value1) {\n return new CatQueue(value0, value1);\n };\n };\n return CatQueue;\n })();\n var uncons = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v.value0 instanceof Data_List_Types.Nil && v.value1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n if (v.value0 instanceof Data_List_Types.Nil) {\n $copy_v = new CatQueue(Data_List.reverse(v.value1), Data_List_Types.Nil.value);\n return;\n };\n if (v.value0 instanceof Data_List_Types.Cons) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(v.value0.value0, new CatQueue(v.value0.value1, v.value1)));\n };\n throw new Error(\"Failed pattern match at Data.CatQueue (line 83, column 1 - line 83, column 63): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n var snoc = function (v) {\n return function (a) {\n return new CatQueue(v.value0, new Data_List_Types.Cons(a, v.value1));\n };\n };\n var $$null = function (v) {\n if (v.value0 instanceof Data_List_Types.Nil && v.value1 instanceof Data_List_Types.Nil) {\n return true;\n };\n return false;\n }; \n var empty = new CatQueue(Data_List_Types.Nil.value, Data_List_Types.Nil.value);\n exports[\"CatQueue\"] = CatQueue;\n exports[\"empty\"] = empty;\n exports[\"null\"] = $$null;\n exports[\"snoc\"] = snoc;\n exports[\"uncons\"] = uncons;\n})(PS[\"Data.CatQueue\"] = PS[\"Data.CatQueue\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Data_CatQueue = PS[\"Data.CatQueue\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Prelude = PS[\"Prelude\"]; \n var CatNil = (function () {\n function CatNil() {\n\n };\n CatNil.value = new CatNil();\n return CatNil;\n })();\n var CatCons = (function () {\n function CatCons(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n CatCons.create = function (value0) {\n return function (value1) {\n return new CatCons(value0, value1);\n };\n };\n return CatCons;\n })();\n var link = function (v) {\n return function (v1) {\n if (v instanceof CatNil) {\n return v1;\n };\n if (v1 instanceof CatNil) {\n return v;\n };\n if (v instanceof CatCons) {\n return new CatCons(v.value0, Data_CatQueue.snoc(v.value1)(v1));\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 109, column 1 - line 109, column 54): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n var foldr = function (k) {\n return function (b) {\n return function (q) {\n var foldl = function ($copy_v) {\n return function ($copy_c) {\n return function ($copy_v1) {\n var $tco_var_v = $copy_v;\n var $tco_var_c = $copy_c;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v, c, v1) {\n if (v1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return c;\n };\n if (v1 instanceof Data_List_Types.Cons) {\n $tco_var_v = v;\n $tco_var_c = v(c)(v1.value0);\n $copy_v1 = v1.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 125, column 3 - line 125, column 59): \" + [ v.constructor.name, c.constructor.name, v1.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_v, $tco_var_c, $copy_v1);\n };\n return $tco_result;\n };\n };\n };\n var go = function ($copy_xs) {\n return function ($copy_ys) {\n var $tco_var_xs = $copy_xs;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(xs, ys) {\n var v = Data_CatQueue.uncons(xs);\n if (v instanceof Data_Maybe.Nothing) {\n $tco_done = true;\n return foldl(function (x) {\n return function (i) {\n return i(x);\n };\n })(b)(ys);\n };\n if (v instanceof Data_Maybe.Just) {\n $tco_var_xs = v.value0.value1;\n $copy_ys = new Data_List_Types.Cons(k(v.value0.value0), ys);\n return;\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 121, column 14 - line 123, column 67): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_xs, $copy_ys);\n };\n return $tco_result;\n };\n };\n return go(q)(Data_List_Types.Nil.value);\n };\n };\n };\n var uncons = function (v) {\n if (v instanceof CatNil) {\n return Data_Maybe.Nothing.value;\n };\n if (v instanceof CatCons) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(v.value0, (function () {\n var $44 = Data_CatQueue[\"null\"](v.value1);\n if ($44) {\n return CatNil.value;\n };\n return foldr(link)(CatNil.value)(v.value1);\n })()));\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 100, column 1 - line 100, column 61): \" + [ v.constructor.name ]);\n };\n var empty = CatNil.value;\n var append = link;\n var semigroupCatList = new Data_Semigroup.Semigroup(append);\n var snoc = function (cat) {\n return function (a) {\n return append(cat)(new CatCons(a, Data_CatQueue.empty));\n };\n };\n exports[\"CatNil\"] = CatNil;\n exports[\"CatCons\"] = CatCons;\n exports[\"empty\"] = empty;\n exports[\"append\"] = append;\n exports[\"snoc\"] = snoc;\n exports[\"uncons\"] = uncons;\n exports[\"semigroupCatList\"] = semigroupCatList;\n})(PS[\"Data.CatList\"] = PS[\"Data.CatList\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_CatList = PS[\"Data.CatList\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Free = (function () {\n function Free(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Free.create = function (value0) {\n return function (value1) {\n return new Free(value0, value1);\n };\n };\n return Free;\n })();\n var Return = (function () {\n function Return(value0) {\n this.value0 = value0;\n };\n Return.create = function (value0) {\n return new Return(value0);\n };\n return Return;\n })();\n var Bind = (function () {\n function Bind(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Bind.create = function (value0) {\n return function (value1) {\n return new Bind(value0, value1);\n };\n };\n return Bind;\n })();\n var toView = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n var runExpF = function (v2) {\n return v2;\n };\n var concatF = function (v2) {\n return function (r) {\n return new Free(v2.value0, Data_Semigroup.append(Data_CatList.semigroupCatList)(v2.value1)(r));\n };\n };\n if (v.value0 instanceof Return) {\n var v2 = Data_CatList.uncons(v.value1);\n if (v2 instanceof Data_Maybe.Nothing) {\n $tco_done = true;\n return new Return(v.value0.value0);\n };\n if (v2 instanceof Data_Maybe.Just) {\n $copy_v = concatF(runExpF(v2.value0.value0)(v.value0.value0))(v2.value0.value1);\n return;\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 220, column 7 - line 224, column 64): \" + [ v2.constructor.name ]);\n };\n if (v.value0 instanceof Bind) {\n $tco_done = true;\n return new Bind(v.value0.value0, function (a) {\n return concatF(v.value0.value1(a))(v.value1);\n });\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 218, column 3 - line 226, column 56): \" + [ v.value0.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n var fromView = function (f) {\n return new Free(f, Data_CatList.empty);\n };\n var freeMonad = new Control_Monad.Monad(function () {\n return freeApplicative;\n }, function () {\n return freeBind;\n });\n var freeFunctor = new Data_Functor.Functor(function (k) {\n return function (f) {\n return Control_Bind.bindFlipped(freeBind)(function ($118) {\n return Control_Applicative.pure(freeApplicative)(k($118));\n })(f);\n };\n });\n var freeBind = new Control_Bind.Bind(function () {\n return freeApply;\n }, function (v) {\n return function (k) {\n return new Free(v.value0, Data_CatList.snoc(v.value1)(k));\n };\n });\n var freeApply = new Control_Apply.Apply(function () {\n return freeFunctor;\n }, Control_Monad.ap(freeMonad));\n var freeApplicative = new Control_Applicative.Applicative(function () {\n return freeApply;\n }, function ($119) {\n return fromView(Return.create($119));\n });\n var liftF = function (f) {\n return fromView(new Bind(f, function ($120) {\n return Control_Applicative.pure(freeApplicative)($120);\n }));\n };\n var foldFree = function (dictMonadRec) {\n return function (k) {\n var go = function (f) {\n var v = toView(f);\n if (v instanceof Return) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Done.create)(Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(v.value0));\n };\n if (v instanceof Bind) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(function ($127) {\n return Control_Monad_Rec_Class.Loop.create(v.value1($127));\n })(k(v.value0));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 151, column 10 - line 153, column 37): \" + [ v.constructor.name ]);\n };\n return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(go);\n };\n };\n exports[\"liftF\"] = liftF;\n exports[\"foldFree\"] = foldFree;\n exports[\"freeFunctor\"] = freeFunctor;\n exports[\"freeBind\"] = freeBind;\n exports[\"freeApplicative\"] = freeApplicative;\n exports[\"freeApply\"] = freeApply;\n exports[\"freeMonad\"] = freeMonad;\n})(PS[\"Control.Monad.Free\"] = PS[\"Control.Monad.Free\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Halogen_Data_Slot = PS[\"Halogen.Data.Slot\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var unChildQueryBox = Unsafe_Coerce.unsafeCoerce;\n exports[\"unChildQueryBox\"] = unChildQueryBox;\n})(PS[\"Halogen.Query.ChildQuery\"] = PS[\"Halogen.Query.ChildQuery\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Reader_Class = PS[\"Control.Monad.Reader.Class\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Monad_Writer_Class = PS[\"Control.Monad.Writer.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Exists = PS[\"Data.Exists\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Prelude = PS[\"Prelude\"]; \n var Bound = (function () {\n function Bound(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Bound.create = function (value0) {\n return function (value1) {\n return new Bound(value0, value1);\n };\n };\n return Bound;\n })();\n var FreeT = (function () {\n function FreeT(value0) {\n this.value0 = value0;\n };\n FreeT.create = function (value0) {\n return new FreeT(value0);\n };\n return FreeT;\n })();\n var Bind = (function () {\n function Bind(value0) {\n this.value0 = value0;\n };\n Bind.create = function (value0) {\n return new Bind(value0);\n };\n return Bind;\n })();\n var monadTransFreeT = function (dictFunctor) {\n return new Control_Monad_Trans_Class.MonadTrans(function (dictMonad) {\n return function (ma) {\n return new FreeT(function (v) {\n return Data_Functor.map(((dictMonad.Bind1()).Apply0()).Functor0())(Data_Either.Left.create)(ma);\n });\n };\n });\n };\n var freeT = FreeT.create;\n var bound = function (m) {\n return function (f) {\n return new Bind(Data_Exists.mkExists(new Bound(m, f)));\n };\n };\n var functorFreeT = function (dictFunctor) {\n return function (dictFunctor1) {\n return new Data_Functor.Functor(function (f) {\n return function (v) {\n if (v instanceof FreeT) {\n return new FreeT(function (v1) {\n return Data_Functor.map(dictFunctor1)(Data_Bifunctor.bimap(Data_Either.bifunctorEither)(f)(Data_Functor.map(dictFunctor)(Data_Functor.map(functorFreeT(dictFunctor)(dictFunctor1))(f))))(v.value0(Data_Unit.unit));\n });\n };\n if (v instanceof Bind) {\n return Data_Exists.runExists(function (v1) {\n return bound(v1.value0)(function ($104) {\n return Data_Functor.map(functorFreeT(dictFunctor)(dictFunctor1))(f)(v1.value1($104));\n });\n })(v.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 57, column 1 - line 57, column 71): \" + [ f.constructor.name, v.constructor.name ]);\n };\n });\n };\n };\n var monadFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Monad.Monad(function () {\n return applicativeFreeT(dictFunctor)(dictMonad);\n }, function () {\n return bindFreeT(dictFunctor)(dictMonad);\n });\n };\n };\n var bindFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Bind.Bind(function () {\n return applyFreeT(dictFunctor)(dictMonad);\n }, function (v) {\n return function (f) {\n if (v instanceof Bind) {\n return Data_Exists.runExists(function (v1) {\n return bound(v1.value0)(function (x) {\n return bound(function (v2) {\n return v1.value1(x);\n })(f);\n });\n })(v.value0);\n };\n return bound(function (v1) {\n return v;\n })(f);\n };\n });\n };\n };\n var applyFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Apply.Apply(function () {\n return functorFreeT(dictFunctor)(((dictMonad.Bind1()).Apply0()).Functor0());\n }, Control_Monad.ap(monadFreeT(dictFunctor)(dictMonad)));\n };\n };\n var applicativeFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Applicative.Applicative(function () {\n return applyFreeT(dictFunctor)(dictMonad);\n }, function (a) {\n return new FreeT(function (v) {\n return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Either.Left(a));\n });\n });\n };\n };\n var liftFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return function (fa) {\n return new FreeT(function (v) {\n return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Either.Right(Data_Functor.map(dictFunctor)(Control_Applicative.pure(applicativeFreeT(dictFunctor)(dictMonad)))(fa)));\n });\n };\n };\n };\n var resume = function (dictFunctor) {\n return function (dictMonadRec) {\n var go = function (v) {\n if (v instanceof FreeT) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Done.create)(v.value0(Data_Unit.unit));\n };\n if (v instanceof Bind) {\n return Data_Exists.runExists(function (v1) {\n var v2 = v1.value0(Data_Unit.unit);\n if (v2 instanceof FreeT) {\n return Control_Bind.bind((dictMonadRec.Monad0()).Bind1())(v2.value0(Data_Unit.unit))(function (v3) {\n if (v3 instanceof Data_Either.Left) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Loop(v1.value1(v3.value0)));\n };\n if (v3 instanceof Data_Either.Right) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Done(new Data_Either.Right(Data_Functor.map(dictFunctor)(function (h) {\n return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonadRec.Monad0()))(h)(v1.value1);\n })(v3.value0))));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 52, column 20 - line 54, column 67): \" + [ v3.constructor.name ]);\n });\n };\n if (v2 instanceof Bind) {\n return Data_Exists.runExists(function (v3) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Loop(Control_Bind.bind(bindFreeT(dictFunctor)(dictMonadRec.Monad0()))(v3.value0(Data_Unit.unit))(function (z) {\n return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonadRec.Monad0()))(v3.value1(z))(v1.value1);\n })));\n })(v2.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 50, column 5 - line 55, column 98): \" + [ v2.constructor.name ]);\n })(v.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 47, column 3 - line 47, column 75): \" + [ v.constructor.name ]);\n };\n return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(go);\n };\n };\n var runFreeT = function (dictFunctor) {\n return function (dictMonadRec) {\n return function (interp) {\n var go = function (v) {\n if (v instanceof Data_Either.Left) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Done(v.value0));\n };\n if (v instanceof Data_Either.Right) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Loop.create)(interp(v.value0));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 126, column 3 - line 126, column 63): \" + [ v.constructor.name ]);\n };\n return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(Control_Bind.composeKleisliFlipped((dictMonadRec.Monad0()).Bind1())(go)(resume(dictFunctor)(dictMonadRec)));\n };\n };\n };\n var monadRecFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Monad_Rec_Class.MonadRec(function () {\n return monadFreeT(dictFunctor)(dictMonad);\n }, function (f) {\n var go = function (s) {\n return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonad))(f(s))(function (v) {\n if (v instanceof Control_Monad_Rec_Class.Loop) {\n return go(v.value0);\n };\n if (v instanceof Control_Monad_Rec_Class.Done) {\n return Control_Applicative.pure(applicativeFreeT(dictFunctor)(dictMonad))(v.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 80, column 15 - line 82, column 25): \" + [ v.constructor.name ]);\n });\n };\n return go;\n });\n };\n };\n exports[\"freeT\"] = freeT;\n exports[\"liftFreeT\"] = liftFreeT;\n exports[\"resume\"] = resume;\n exports[\"runFreeT\"] = runFreeT;\n exports[\"functorFreeT\"] = functorFreeT;\n exports[\"applyFreeT\"] = applyFreeT;\n exports[\"applicativeFreeT\"] = applicativeFreeT;\n exports[\"bindFreeT\"] = bindFreeT;\n exports[\"monadFreeT\"] = monadFreeT;\n exports[\"monadTransFreeT\"] = monadTransFreeT;\n exports[\"monadRecFreeT\"] = monadRecFreeT;\n})(PS[\"Control.Monad.Free.Trans\"] = PS[\"Control.Monad.Free.Trans\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad_Except = PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Monad_Free_Trans = PS[\"Control.Monad.Free.Trans\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Parallel = PS[\"Control.Parallel\"];\n var Control_Parallel_Class = PS[\"Control.Parallel.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Profunctor = PS[\"Data.Profunctor\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"];\n var Emit = (function () {\n function Emit(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Emit.create = function (value0) {\n return function (value1) {\n return new Emit(value0, value1);\n };\n };\n return Emit;\n })();\n var runProcess = function (dictMonadRec) {\n return Control_Monad_Free_Trans.runFreeT(Data_Identity.functorIdentity)(dictMonadRec)(function ($186) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(Data_Newtype.unwrap(Data_Identity.newtypeIdentity)($186));\n });\n };\n var profunctorAwait = new Data_Profunctor.Profunctor(function (f) {\n return function (g) {\n return function (v) {\n return Data_Profunctor.dimap(Data_Profunctor.profunctorFn)(f)(g)(v);\n };\n };\n });\n var loop = function (dictFunctor) {\n return function (dictMonad) {\n return function (me) {\n return Control_Monad_Rec_Class.tailRecM(Control_Monad_Free_Trans.monadRecFreeT(dictFunctor)(dictMonad))(function (v) {\n return Data_Functor.map(Control_Monad_Free_Trans.functorFreeT(dictFunctor)(((dictMonad.Bind1()).Apply0()).Functor0()))(Data_Maybe.maybe(new Control_Monad_Rec_Class.Loop(Data_Unit.unit))(Control_Monad_Rec_Class.Done.create))(me);\n })(Data_Unit.unit);\n };\n };\n };\n var fuseWithL = function (dictFunctor) {\n return function (dictFunctor1) {\n return function (dictFunctor2) {\n return function (dictMonadRec) {\n return function (zap) {\n return function (fs) {\n return function (gs) {\n var go = function (v) {\n return Control_Monad_Except_Trans.runExceptT(Control_Bind.bind(Control_Monad_Except_Trans.bindExceptT(dictMonadRec.Monad0()))(Control_Monad_Except_Trans.ExceptT(Control_Monad_Free_Trans.resume(dictFunctor)(dictMonadRec)(v.value0)))(function (v1) {\n return Control_Bind.bind(Control_Monad_Except_Trans.bindExceptT(dictMonadRec.Monad0()))(Control_Monad_Except_Trans.ExceptT(Control_Monad_Free_Trans.resume(dictFunctor1)(dictMonadRec)(v.value1)))(function (v2) {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(dictMonadRec.Monad0()))(Data_Functor.map(dictFunctor2)(function (t) {\n return Control_Monad_Free_Trans.freeT(function (v3) {\n return go(t);\n });\n })(zap(Data_Tuple.Tuple.create)(v1)(v2)));\n });\n }));\n };\n return Control_Monad_Free_Trans.freeT(function (v) {\n return go(new Data_Tuple.Tuple(fs, gs));\n });\n };\n };\n };\n };\n };\n };\n };\n var fuseWith = function (dictFunctor) {\n return function (dictFunctor1) {\n return function (dictFunctor2) {\n return function (dictMonadRec) {\n return function (dictParallel) {\n return function (zap) {\n return function (fs) {\n return function (gs) {\n var go = function (v) {\n return Control_Bind.bind((dictMonadRec.Monad0()).Bind1())(Control_Parallel_Class.sequential(dictParallel)(Control_Apply.apply((dictParallel.Applicative1()).Apply0())(Data_Functor.map(((dictParallel.Applicative1()).Apply0()).Functor0())(Control_Apply.lift2(Data_Either.applyEither)(zap(Data_Tuple.Tuple.create)))(Control_Parallel_Class.parallel(dictParallel)(Control_Monad_Free_Trans.resume(dictFunctor)(dictMonadRec)(v.value0))))(Control_Parallel_Class.parallel(dictParallel)(Control_Monad_Free_Trans.resume(dictFunctor1)(dictMonadRec)(v.value1)))))(function (v1) {\n if (v1 instanceof Data_Either.Left) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Data_Either.Left(v1.value0));\n };\n if (v1 instanceof Data_Either.Right) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Data_Either.Right(Data_Functor.map(dictFunctor2)(function (t) {\n return Control_Monad_Free_Trans.freeT(function (v2) {\n return go(t);\n });\n })(v1.value0)));\n };\n throw new Error(\"Failed pattern match at Control.Coroutine (line 79, column 5 - line 81, column 63): \" + [ v1.constructor.name ]);\n });\n };\n return Control_Monad_Free_Trans.freeT(function (v) {\n return go(new Data_Tuple.Tuple(fs, gs));\n });\n };\n };\n };\n };\n };\n };\n };\n };\n var functorAwait = new Data_Functor.Functor(Data_Profunctor.rmap(profunctorAwait));\n var bifunctorEmit = new Data_Bifunctor.Bifunctor(function (f) {\n return function (g) {\n return function (v) {\n return new Emit(f(v.value0), g(v.value1));\n };\n };\n });\n var functorEmit = new Data_Functor.Functor(Data_Bifunctor.rmap(bifunctorEmit));\n var connect = function (dictMonadRec) {\n return function (dictParallel) {\n return fuseWith(functorEmit)(functorAwait)(Data_Identity.functorIdentity)(dictMonadRec)(dictParallel)(function (f) {\n return function (v) {\n return function (v1) {\n return f(v.value1)(v1(v.value0));\n };\n };\n });\n };\n };\n var emit = function (dictMonad) {\n return function (o) {\n return Control_Monad_Free_Trans.liftFreeT(functorEmit)(dictMonad)(new Emit(o, Data_Unit.unit));\n };\n };\n var producer = function (dictMonad) {\n return function (recv) {\n return loop(functorEmit)(dictMonad)(Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(functorEmit)(dictMonad))(Control_Monad_Trans_Class.lift(Control_Monad_Free_Trans.monadTransFreeT(functorEmit))(dictMonad)(recv))(function (v) {\n if (v instanceof Data_Either.Left) {\n return Data_Functor.voidLeft(Control_Monad_Free_Trans.functorFreeT(functorEmit)(((dictMonad.Bind1()).Apply0()).Functor0()))(emit(dictMonad)(v.value0))(Data_Maybe.Nothing.value);\n };\n if (v instanceof Data_Either.Right) {\n return Control_Applicative.pure(Control_Monad_Free_Trans.applicativeFreeT(functorEmit)(dictMonad))(new Data_Maybe.Just(v.value0));\n };\n throw new Error(\"Failed pattern match at Control.Coroutine (line 125, column 3 - line 127, column 29): \" + [ v.constructor.name ]);\n }));\n };\n };\n var pullFrom = function (dictMonadRec) {\n return fuseWithL(functorAwait)(functorEmit)(Data_Identity.functorIdentity)(dictMonadRec)(function (f) {\n return function (v) {\n return function (v1) {\n return Control_Applicative.pure(Data_Identity.applicativeIdentity)(f(v(v1.value0))(v1.value1));\n };\n };\n });\n };\n var $$await = function (dictMonad) {\n return Control_Monad_Free_Trans.liftFreeT(functorAwait)(dictMonad)(Control_Category.identity(Control_Category.categoryFn));\n };\n exports[\"loop\"] = loop;\n exports[\"runProcess\"] = runProcess;\n exports[\"fuseWith\"] = fuseWith;\n exports[\"fuseWithL\"] = fuseWithL;\n exports[\"Emit\"] = Emit;\n exports[\"emit\"] = emit;\n exports[\"producer\"] = producer;\n exports[\"await\"] = $$await;\n exports[\"connect\"] = connect;\n exports[\"pullFrom\"] = pullFrom;\n exports[\"bifunctorEmit\"] = bifunctorEmit;\n exports[\"functorEmit\"] = functorEmit;\n exports[\"profunctorAwait\"] = profunctorAwait;\n exports[\"functorAwait\"] = functorAwait;\n})(PS[\"Control.Coroutine\"] = PS[\"Control.Coroutine\"] || {});\n(function(exports) {\n /* globals exports, setTimeout */\n \"use strict\";\n\n var AVar = function () {\n\n function MutableQueue () {\n this.head = null;\n this.last = null;\n this.size = 0;\n }\n\n function MutableCell (queue, value) {\n this.queue = queue;\n this.value = value;\n this.next = null;\n this.prev = null;\n }\n\n function AVar (value) {\n this.draining = false;\n this.error = null;\n this.value = value;\n this.takes = new MutableQueue();\n this.reads = new MutableQueue();\n this.puts = new MutableQueue();\n }\n\n var EMPTY = {};\n\n function runEff(eff) {\n try {\n eff();\n } catch (error) {\n setTimeout(function () {\n throw error;\n }, 0);\n }\n }\n\n function putLast (queue, value) {\n var cell = new MutableCell(queue, value);\n switch (queue.size) {\n case 0:\n queue.head = cell;\n break;\n case 1:\n cell.prev = queue.head;\n queue.head.next = cell;\n queue.last = cell;\n break;\n default:\n cell.prev = queue.last;\n queue.last.next = cell;\n queue.last = cell;\n }\n queue.size++;\n return cell;\n }\n\n function takeLast (queue) {\n var cell;\n switch (queue.size) {\n case 0:\n return null;\n case 1:\n cell = queue.head;\n queue.head = null;\n break;\n case 2:\n cell = queue.last;\n queue.head.next = null;\n queue.last = null;\n break;\n default:\n cell = queue.last;\n queue.last = cell.prev;\n queue.last.next = null;\n }\n cell.prev = null;\n cell.queue = null;\n queue.size--;\n return cell.value;\n }\n\n function takeHead (queue) {\n var cell;\n switch (queue.size) {\n case 0:\n return null;\n case 1:\n cell = queue.head;\n queue.head = null;\n break;\n case 2:\n cell = queue.head;\n queue.last.prev = null;\n queue.head = queue.last;\n queue.last = null;\n break;\n default:\n cell = queue.head;\n queue.head = cell.next;\n queue.head.prev = null;\n }\n cell.next = null;\n cell.queue = null;\n queue.size--;\n return cell.value;\n }\n\n function deleteCell (cell) {\n if (cell.queue === null) {\n return;\n }\n if (cell.queue.last === cell) {\n takeLast(cell.queue);\n return;\n }\n if (cell.queue.head === cell) {\n takeHead(cell.queue);\n return;\n }\n if (cell.prev) {\n cell.prev.next = cell.next;\n }\n if (cell.next) {\n cell.next.prev = cell.prev;\n }\n cell.queue.size--;\n cell.queue = null;\n cell.value = null;\n cell.next = null;\n cell.prev = null;\n }\n\n function drainVar (util, avar) {\n if (avar.draining) {\n return;\n }\n\n var ps = avar.puts;\n var ts = avar.takes;\n var rs = avar.reads;\n var p, r, t, value, rsize;\n\n avar.draining = true;\n\n while (1) { // eslint-disable-line no-constant-condition\n p = null;\n r = null;\n t = null;\n value = avar.value;\n rsize = rs.size;\n\n if (avar.error !== null) {\n value = util.left(avar.error);\n while (p = takeHead(ps)) { // eslint-disable-line no-cond-assign\n runEff(p.cb(value));\n }\n while (r = takeHead(rs)) { // eslint-disable-line no-cond-assign\n runEff(r(value));\n }\n while (t = takeHead(ts)) { // eslint-disable-line no-cond-assign\n runEff(t(value));\n }\n break;\n }\n\n // Process the next put. We do not immediately invoke the callback\n // because we want to preserve ordering. If there are takes/reads\n // we want to run those first.\n if (value === EMPTY && (p = takeHead(ps))) {\n avar.value = value = p.value;\n }\n\n if (value !== EMPTY) {\n // We go ahead and queue up the next take for the same reasons as\n // above. Invoking the read callbacks can affect the mutable queue.\n t = takeHead(ts);\n // We only want to process the reads queued up before running these\n // callbacks so we guard on rsize.\n while (rsize-- && (r = takeHead(rs))) {\n runEff(r(util.right(value)));\n }\n if (t !== null) {\n avar.value = EMPTY;\n runEff(t(util.right(value)));\n }\n }\n\n if (p !== null) {\n runEff(p.cb(util.right(void 0)));\n }\n\n // Callbacks could have queued up more items so we need to guard on the\n // actual mutable properties.\n if (avar.value === EMPTY && ps.size === 0 || avar.value !== EMPTY && ts.size === 0) {\n break;\n }\n }\n avar.draining = false;\n }\n\n AVar.EMPTY = EMPTY;\n AVar.putLast = putLast;\n AVar.takeLast = takeLast;\n AVar.takeHead = takeHead;\n AVar.deleteCell = deleteCell;\n AVar.drainVar = drainVar;\n\n return AVar;\n }();\n\n exports.empty = function () {\n return new AVar(AVar.EMPTY);\n };\n\n exports._killVar = function (util, error, avar) {\n return function () {\n if (avar.error === null) {\n avar.error = error;\n avar.value = AVar.EMPTY;\n AVar.drainVar(util, avar);\n }\n };\n };\n\n exports._putVar = function (util, value, avar, cb) {\n return function () {\n var cell = AVar.putLast(avar.puts, { cb: cb, value: value });\n AVar.drainVar(util, avar);\n return function () {\n AVar.deleteCell(cell);\n };\n };\n };\n\n exports._takeVar = function (util, avar, cb) {\n return function () {\n var cell = AVar.putLast(avar.takes, cb);\n AVar.drainVar(util, avar);\n return function () {\n AVar.deleteCell(cell);\n };\n };\n };\n})(PS[\"Effect.AVar\"] = PS[\"Effect.AVar\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.AVar\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Effect = PS[\"Effect\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Prelude = PS[\"Prelude\"]; \n var Killed = (function () {\n function Killed(value0) {\n this.value0 = value0;\n };\n Killed.create = function (value0) {\n return new Killed(value0);\n };\n return Killed;\n })();\n var Filled = (function () {\n function Filled(value0) {\n this.value0 = value0;\n };\n Filled.create = function (value0) {\n return new Filled(value0);\n };\n return Filled;\n })();\n var Empty = (function () {\n function Empty() {\n\n };\n Empty.value = new Empty();\n return Empty;\n })();\n var ffiUtil = {\n left: Data_Either.Left.create,\n right: Data_Either.Right.create,\n nothing: Data_Maybe.Nothing.value,\n just: Data_Maybe.Just.create,\n killed: Killed.create,\n filled: Filled.create,\n empty: Empty.value\n };\n var kill = function (err) {\n return function (avar) {\n return $foreign[\"_killVar\"](ffiUtil, err, avar);\n };\n };\n var put = function (value) {\n return function (avar) {\n return function (cb) {\n return $foreign[\"_putVar\"](ffiUtil, value, avar, cb);\n };\n };\n };\n var take = function (avar) {\n return function (cb) {\n return $foreign[\"_takeVar\"](ffiUtil, avar, cb);\n };\n };\n exports[\"Killed\"] = Killed;\n exports[\"Filled\"] = Filled;\n exports[\"Empty\"] = Empty;\n exports[\"take\"] = take;\n exports[\"put\"] = put;\n exports[\"kill\"] = kill;\n exports[\"empty\"] = $foreign.empty;\n})(PS[\"Effect.AVar\"] = PS[\"Effect.AVar\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Effect = PS[\"Effect\"];\n var Effect_AVar = PS[\"Effect.AVar\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Prelude = PS[\"Prelude\"];\n var take = function (avar) {\n return Effect_Aff.makeAff(function (k) {\n return function __do() {\n var v = Effect_AVar.take(avar)(k)();\n return Effect_Aff.effectCanceler(v);\n };\n });\n };\n var put = function (value) {\n return function (avar) {\n return Effect_Aff.makeAff(function (k) {\n return function __do() {\n var v = Effect_AVar.put(value)(avar)(k)();\n return Effect_Aff.effectCanceler(v);\n };\n });\n };\n };\n var kill = function (error) {\n return function ($11) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_AVar.kill(error)($11));\n };\n };\n var empty = Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_AVar.empty);\n exports[\"empty\"] = empty;\n exports[\"take\"] = take;\n exports[\"put\"] = put;\n exports[\"kill\"] = kill;\n})(PS[\"Effect.Aff.AVar\"] = PS[\"Effect.Aff.AVar\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Coroutine = PS[\"Control.Coroutine\"];\n var Control_Monad_Free_Trans = PS[\"Control.Monad.Free.Trans\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Profunctor = PS[\"Data.Profunctor\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Aff_AVar = PS[\"Effect.Aff.AVar\"];\n var Effect_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Prelude = PS[\"Prelude\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var finalize = function (v) {\n return v;\n };\n exports[\"finalize\"] = finalize;\n})(PS[\"Halogen.Query.EventSource\"] = PS[\"Halogen.Query.EventSource\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM = PS[\"Web.DOM\"];\n var RefUpdate = (function () {\n function RefUpdate(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n RefUpdate.create = function (value0) {\n return function (value1) {\n return new RefUpdate(value0, value1);\n };\n };\n return RefUpdate;\n })();\n var Action = (function () {\n function Action(value0) {\n this.value0 = value0;\n };\n Action.create = function (value0) {\n return new Action(value0);\n };\n return Action;\n })();\n exports[\"RefUpdate\"] = RefUpdate;\n exports[\"Action\"] = Action;\n})(PS[\"Halogen.Query.Input\"] = PS[\"Halogen.Query.Input\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Applicative_Free = PS[\"Control.Applicative.Free\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Free = PS[\"Control.Monad.Free\"];\n var Control_Monad_Reader_Class = PS[\"Control.Monad.Reader.Class\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Monad_Writer_Class = PS[\"Control.Monad.Writer.Class\"];\n var Control_Parallel_Class = PS[\"Control.Parallel.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Map = PS[\"Data.Map\"];\n var Data_Map_Internal = PS[\"Data.Map.Internal\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Halogen_Data_Slot = PS[\"Halogen.Data.Slot\"];\n var Halogen_Query_ChildQuery = PS[\"Halogen.Query.ChildQuery\"];\n var Halogen_Query_EventSource = PS[\"Halogen.Query.EventSource\"];\n var Halogen_Query_Input = PS[\"Halogen.Query.Input\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM = PS[\"Web.DOM\"]; \n var SubscriptionId = function (x) {\n return x;\n };\n var ForkId = function (x) {\n return x;\n };\n var State = (function () {\n function State(value0) {\n this.value0 = value0;\n };\n State.create = function (value0) {\n return new State(value0);\n };\n return State;\n })();\n var Subscribe = (function () {\n function Subscribe(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Subscribe.create = function (value0) {\n return function (value1) {\n return new Subscribe(value0, value1);\n };\n };\n return Subscribe;\n })();\n var Unsubscribe = (function () {\n function Unsubscribe(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Unsubscribe.create = function (value0) {\n return function (value1) {\n return new Unsubscribe(value0, value1);\n };\n };\n return Unsubscribe;\n })();\n var Lift = (function () {\n function Lift(value0) {\n this.value0 = value0;\n };\n Lift.create = function (value0) {\n return new Lift(value0);\n };\n return Lift;\n })();\n var ChildQuery = (function () {\n function ChildQuery(value0) {\n this.value0 = value0;\n };\n ChildQuery.create = function (value0) {\n return new ChildQuery(value0);\n };\n return ChildQuery;\n })();\n var Raise = (function () {\n function Raise(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Raise.create = function (value0) {\n return function (value1) {\n return new Raise(value0, value1);\n };\n };\n return Raise;\n })();\n var Par = (function () {\n function Par(value0) {\n this.value0 = value0;\n };\n Par.create = function (value0) {\n return new Par(value0);\n };\n return Par;\n })();\n var Fork = (function () {\n function Fork(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Fork.create = function (value0) {\n return function (value1) {\n return new Fork(value0, value1);\n };\n };\n return Fork;\n })();\n var Kill = (function () {\n function Kill(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Kill.create = function (value0) {\n return function (value1) {\n return new Kill(value0, value1);\n };\n };\n return Kill;\n })();\n var GetRef = (function () {\n function GetRef(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n GetRef.create = function (value0) {\n return function (value1) {\n return new GetRef(value0, value1);\n };\n };\n return GetRef;\n })();\n var HalogenM = function (x) {\n return x;\n };\n var raise = function (o) {\n return HalogenM(Control_Monad_Free.liftF(new Raise(o, Data_Unit.unit)));\n };\n var ordSubscriptionId = Data_Ord.ordInt;\n var ordForkId = Data_Ord.ordInt;\n var monadHalogenM = Control_Monad_Free.freeMonad;\n var monadStateHalogenM = new Control_Monad_State_Class.MonadState(function () {\n return monadHalogenM;\n }, function ($132) {\n return HalogenM(Control_Monad_Free.liftF(State.create($132)));\n });\n var monadEffectHalogenM = function (dictMonadEffect) {\n return new Effect_Class.MonadEffect(function () {\n return monadHalogenM;\n }, function ($135) {\n return HalogenM(Control_Monad_Free.liftF(Lift.create(Effect_Class.liftEffect(dictMonadEffect)($135))));\n });\n };\n var monadAffHalogenM = function (dictMonadAff) {\n return new Effect_Aff_Class.MonadAff(function () {\n return monadEffectHalogenM(dictMonadAff.MonadEffect0());\n }, function ($136) {\n return HalogenM(Control_Monad_Free.liftF(Lift.create(Effect_Aff_Class.liftAff(dictMonadAff)($136))));\n });\n };\n var getRef = function (p) {\n return HalogenM(Control_Monad_Free.liftF(new GetRef(p, Control_Category.identity(Control_Category.categoryFn))));\n };\n var functorHalogenM = Control_Monad_Free.freeFunctor;\n var bindHalogenM = Control_Monad_Free.freeBind; \n var applicativeHalogenM = Control_Monad_Free.freeApplicative;\n exports[\"State\"] = State;\n exports[\"Subscribe\"] = Subscribe;\n exports[\"Unsubscribe\"] = Unsubscribe;\n exports[\"Lift\"] = Lift;\n exports[\"ChildQuery\"] = ChildQuery;\n exports[\"Raise\"] = Raise;\n exports[\"Par\"] = Par;\n exports[\"Fork\"] = Fork;\n exports[\"Kill\"] = Kill;\n exports[\"GetRef\"] = GetRef;\n exports[\"HalogenM\"] = HalogenM;\n exports[\"raise\"] = raise;\n exports[\"SubscriptionId\"] = SubscriptionId;\n exports[\"ForkId\"] = ForkId;\n exports[\"getRef\"] = getRef;\n exports[\"functorHalogenM\"] = functorHalogenM;\n exports[\"applicativeHalogenM\"] = applicativeHalogenM;\n exports[\"bindHalogenM\"] = bindHalogenM;\n exports[\"monadHalogenM\"] = monadHalogenM;\n exports[\"monadEffectHalogenM\"] = monadEffectHalogenM;\n exports[\"monadAffHalogenM\"] = monadAffHalogenM;\n exports[\"monadStateHalogenM\"] = monadStateHalogenM;\n exports[\"ordSubscriptionId\"] = ordSubscriptionId;\n exports[\"ordForkId\"] = ordForkId;\n})(PS[\"Halogen.Query.HalogenM\"] = PS[\"Halogen.Query.HalogenM\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Coyoneda = PS[\"Data.Coyoneda\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Prelude = PS[\"Prelude\"]; \n var Initialize = (function () {\n function Initialize(value0) {\n this.value0 = value0;\n };\n Initialize.create = function (value0) {\n return new Initialize(value0);\n };\n return Initialize;\n })();\n var Finalize = (function () {\n function Finalize(value0) {\n this.value0 = value0;\n };\n Finalize.create = function (value0) {\n return new Finalize(value0);\n };\n return Finalize;\n })();\n var Receive = (function () {\n function Receive(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Receive.create = function (value0) {\n return function (value1) {\n return new Receive(value0, value1);\n };\n };\n return Receive;\n })();\n var Action = (function () {\n function Action(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Action.create = function (value0) {\n return function (value1) {\n return new Action(value0, value1);\n };\n };\n return Action;\n })();\n var Query = (function () {\n function Query(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Query.create = function (value0) {\n return function (value1) {\n return new Query(value0, value1);\n };\n };\n return Query;\n })();\n exports[\"Initialize\"] = Initialize;\n exports[\"Finalize\"] = Finalize;\n exports[\"Receive\"] = Receive;\n exports[\"Action\"] = Action;\n exports[\"Query\"] = Query;\n})(PS[\"Halogen.Query.HalogenQ\"] = PS[\"Halogen.Query.HalogenQ\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Function = PS[\"Data.Function\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"]; \n var Step = (function () {\n function Step(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Step.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Step(value0, value1, value2, value3);\n };\n };\n };\n };\n return Step;\n })();\n var unStep = Unsafe_Coerce.unsafeCoerce;\n var step = function (v, a) {\n return v.value2(v.value1, a);\n };\n var mkStep = Unsafe_Coerce.unsafeCoerce;\n var halt = function (v) {\n return v.value3(v.value1);\n };\n var extract = unStep(function (v) {\n return v.value0;\n });\n exports[\"Step\"] = Step;\n exports[\"mkStep\"] = mkStep;\n exports[\"unStep\"] = unStep;\n exports[\"extract\"] = extract;\n exports[\"step\"] = step;\n exports[\"halt\"] = halt;\n})(PS[\"Halogen.VDom.Machine\"] = PS[\"Halogen.VDom.Machine\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Text = (function () {\n function Text(value0) {\n this.value0 = value0;\n };\n Text.create = function (value0) {\n return new Text(value0);\n };\n return Text;\n })();\n var Elem = (function () {\n function Elem(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Elem.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Elem(value0, value1, value2, value3);\n };\n };\n };\n };\n return Elem;\n })();\n var Keyed = (function () {\n function Keyed(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Keyed.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Keyed(value0, value1, value2, value3);\n };\n };\n };\n };\n return Keyed;\n })();\n var Widget = (function () {\n function Widget(value0) {\n this.value0 = value0;\n };\n Widget.create = function (value0) {\n return new Widget(value0);\n };\n return Widget;\n })();\n var Grafted = (function () {\n function Grafted(value0) {\n this.value0 = value0;\n };\n Grafted.create = function (value0) {\n return new Grafted(value0);\n };\n return Grafted;\n })();\n var Graft = (function () {\n function Graft(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n Graft.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new Graft(value0, value1, value2);\n };\n };\n };\n return Graft;\n })();\n var unGraft = function (f) {\n return function ($45) {\n return f($45);\n };\n }; \n var graft = Unsafe_Coerce.unsafeCoerce;\n var bifunctorGraft = new Data_Bifunctor.Bifunctor(function (f) {\n return function (g) {\n return unGraft(function (v) {\n return graft(new Graft(function ($47) {\n return f(v.value0($47));\n }, function ($48) {\n return g(v.value1($48));\n }, v.value2));\n });\n };\n });\n var runGraft = unGraft(function (v) {\n var go = function (v2) {\n if (v2 instanceof Text) {\n return new Text(v2.value0);\n };\n if (v2 instanceof Elem) {\n return new Elem(v2.value0, v2.value1, v.value0(v2.value2), Data_Functor.map(Data_Functor.functorArray)(go)(v2.value3));\n };\n if (v2 instanceof Keyed) {\n return new Keyed(v2.value0, v2.value1, v.value0(v2.value2), Data_Functor.map(Data_Functor.functorArray)(Data_Functor.map(Data_Tuple.functorTuple)(go))(v2.value3));\n };\n if (v2 instanceof Widget) {\n return new Widget(v.value1(v2.value0));\n };\n if (v2 instanceof Grafted) {\n return new Grafted(Data_Bifunctor.bimap(bifunctorGraft)(v.value0)(v.value1)(v2.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Types (line 73, column 7 - line 73, column 27): \" + [ v2.constructor.name ]);\n };\n return go(v.value2);\n });\n exports[\"Text\"] = Text;\n exports[\"Elem\"] = Elem;\n exports[\"Keyed\"] = Keyed;\n exports[\"Widget\"] = Widget;\n exports[\"Grafted\"] = Grafted;\n exports[\"Graft\"] = Graft;\n exports[\"graft\"] = graft;\n exports[\"unGraft\"] = unGraft;\n exports[\"runGraft\"] = runGraft;\n exports[\"bifunctorGraft\"] = bifunctorGraft;\n})(PS[\"Halogen.VDom.Types\"] = PS[\"Halogen.VDom.Types\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unsafeGetAny = function (key, obj) {\n return obj[key];\n };\n\n exports.unsafeHasAny = function (key, obj) {\n return obj.hasOwnProperty(key);\n };\n\n exports.unsafeSetAny = function (key, val, obj) {\n obj[key] = val;\n };\n\n exports.forE = function (a, f) {\n var b = [];\n for (var i = 0; i < a.length; i++) {\n b.push(f(i, a[i]));\n }\n return b;\n };\n\n exports.forEachE = function (a, f) {\n for (var i = 0; i < a.length; i++) {\n f(a[i]);\n }\n };\n\n exports.forInE = function (o, f) {\n var ks = Object.keys(o);\n for (var i = 0; i < ks.length; i++) {\n var k = ks[i];\n f(k, o[k]);\n }\n };\n\n exports.diffWithIxE = function (a1, a2, f1, f2, f3) {\n var a3 = [];\n var l1 = a1.length;\n var l2 = a2.length;\n var i = 0;\n while (1) {\n if (i < l1) {\n if (i < l2) {\n a3.push(f1(i, a1[i], a2[i]));\n } else {\n f2(i, a1[i]);\n }\n } else if (i < l2) {\n a3.push(f3(i, a2[i]));\n } else {\n break;\n }\n i++;\n }\n return a3;\n };\n\n exports.strMapWithIxE = function (as, fk, f) {\n var o = {};\n for (var i = 0; i < as.length; i++) {\n var a = as[i];\n var k = fk(a);\n o[k] = f(k, i, a);\n }\n return o;\n };\n\n exports.diffWithKeyAndIxE = function (o1, as, fk, f1, f2, f3) {\n var o2 = {};\n for (var i = 0; i < as.length; i++) {\n var a = as[i];\n var k = fk(a);\n if (o1.hasOwnProperty(k)) {\n o2[k] = f1(k, i, o1[k], a);\n } else {\n o2[k] = f3(k, i, a);\n }\n }\n for (var k in o1) {\n if (k in o2) {\n continue;\n }\n f2(k, o1[k]);\n }\n return o2;\n };\n\n exports.refEq = function (a, b) {\n return a === b;\n };\n\n exports.createTextNode = function (s, doc) {\n return doc.createTextNode(s);\n };\n\n exports.setTextContent = function (s, n) {\n n.textContent = s;\n };\n\n exports.createElement = function (ns, name, doc) {\n if (ns != null) {\n return doc.createElementNS(ns, name);\n } else {\n return doc.createElement(name)\n }\n };\n\n exports.insertChildIx = function (i, a, b) {\n var n = b.childNodes.item(i) || null;\n if (n !== a) {\n b.insertBefore(a, n);\n }\n };\n\n exports.removeChild = function (a, b) {\n if (b && a.parentNode === b) {\n b.removeChild(a);\n }\n };\n\n exports.parentNode = function (a) {\n return a.parentNode;\n };\n\n exports.setAttribute = function (ns, attr, val, el) {\n if (ns != null) {\n el.setAttributeNS(ns, attr, val);\n } else {\n el.setAttribute(attr, val);\n }\n };\n\n exports.removeAttribute = function (ns, attr, el) {\n if (ns != null) {\n el.removeAttributeNS(ns, attr);\n } else {\n el.removeAttribute(attr);\n }\n };\n\n exports.addEventListener = function (ev, listener, el) {\n el.addEventListener(ev, listener, false);\n };\n\n exports.removeEventListener = function (ev, listener, el) {\n el.removeEventListener(ev, listener, false);\n };\n\n exports.jsUndefined = void 0;\n})(PS[\"Halogen.VDom.Util\"] = PS[\"Halogen.VDom.Util\"] || {});\n(function(exports) {\n \"use strict\";\n\n var getEffProp = function (name) {\n return function (node) {\n return function () {\n return node[name];\n };\n };\n }; \n\n exports._parentNode = getEffProp(\"parentNode\"); \n\n exports._nextSibling = getEffProp(\"nextSibling\");\n\n exports.insertBefore = function (node1) {\n return function (node2) {\n return function (parent) {\n return function () {\n return parent.insertBefore(node1, node2);\n };\n };\n };\n };\n\n exports.appendChild = function (node) {\n return function (parent) {\n return function () {\n return parent.appendChild(node);\n };\n };\n };\n\n exports.removeChild = function (node) {\n return function (parent) {\n return function () {\n return parent.removeChild(node);\n };\n };\n };\n})(PS[\"Web.DOM.Node\"] = PS[\"Web.DOM.Node\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.DOM.Node\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Enum = PS[\"Data.Enum\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_Internal_Types = PS[\"Web.DOM.Internal.Types\"];\n var Web_DOM_NodeType = PS[\"Web.DOM.NodeType\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var Web_Internal_FFI = PS[\"Web.Internal.FFI\"];\n var parentNode = function ($2) {\n return Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe)($foreign[\"_parentNode\"]($2));\n };\n var nextSibling = function ($6) {\n return Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe)($foreign[\"_nextSibling\"]($6));\n };\n exports[\"parentNode\"] = parentNode;\n exports[\"nextSibling\"] = nextSibling;\n exports[\"insertBefore\"] = $foreign.insertBefore;\n exports[\"appendChild\"] = $foreign.appendChild;\n exports[\"removeChild\"] = $foreign.removeChild;\n})(PS[\"Web.DOM.Node\"] = PS[\"Web.DOM.Node\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Halogen.VDom.Util\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Effect = PS[\"Effect\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Foreign_Object = PS[\"Foreign.Object\"];\n var Foreign_Object_ST = PS[\"Foreign.Object.ST\"];\n var Halogen_VDom_Types = PS[\"Halogen.VDom.Types\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_Node = PS[\"Web.DOM.Node\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"]; \n var unsafeLookup = $foreign.unsafeGetAny;\n var unsafeFreeze = Unsafe_Coerce.unsafeCoerce;\n var pokeMutMap = $foreign.unsafeSetAny;\n var newMutMap = Foreign_Object_ST[\"new\"];\n exports[\"newMutMap\"] = newMutMap;\n exports[\"pokeMutMap\"] = pokeMutMap;\n exports[\"unsafeFreeze\"] = unsafeFreeze;\n exports[\"unsafeLookup\"] = unsafeLookup;\n exports[\"unsafeGetAny\"] = $foreign.unsafeGetAny;\n exports[\"unsafeHasAny\"] = $foreign.unsafeHasAny;\n exports[\"unsafeSetAny\"] = $foreign.unsafeSetAny;\n exports[\"forE\"] = $foreign.forE;\n exports[\"forEachE\"] = $foreign.forEachE;\n exports[\"forInE\"] = $foreign.forInE;\n exports[\"diffWithIxE\"] = $foreign.diffWithIxE;\n exports[\"diffWithKeyAndIxE\"] = $foreign.diffWithKeyAndIxE;\n exports[\"strMapWithIxE\"] = $foreign.strMapWithIxE;\n exports[\"refEq\"] = $foreign.refEq;\n exports[\"createTextNode\"] = $foreign.createTextNode;\n exports[\"setTextContent\"] = $foreign.setTextContent;\n exports[\"createElement\"] = $foreign.createElement;\n exports[\"insertChildIx\"] = $foreign.insertChildIx;\n exports[\"removeChild\"] = $foreign.removeChild;\n exports[\"parentNode\"] = $foreign.parentNode;\n exports[\"setAttribute\"] = $foreign.setAttribute;\n exports[\"removeAttribute\"] = $foreign.removeAttribute;\n exports[\"addEventListener\"] = $foreign.addEventListener;\n exports[\"removeEventListener\"] = $foreign.removeEventListener;\n exports[\"jsUndefined\"] = $foreign.jsUndefined;\n})(PS[\"Halogen.VDom.Util\"] = PS[\"Halogen.VDom.Util\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Effect = PS[\"Effect\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Foreign_Object = PS[\"Foreign.Object\"];\n var Halogen_VDom_Machine = PS[\"Halogen.VDom.Machine\"];\n var Halogen_VDom_Types = PS[\"Halogen.VDom.Types\"];\n var Halogen_VDom_Util = PS[\"Halogen.VDom.Util\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_Node = PS[\"Web.DOM.Node\"];\n var haltWidget = function (v) {\n return Halogen_VDom_Machine.halt(v.widget);\n };\n var patchWidget = function (state, vdom) {\n if (vdom instanceof Halogen_VDom_Types.Grafted) {\n return patchWidget(state, Halogen_VDom_Types.runGraft(vdom.value0));\n };\n if (vdom instanceof Halogen_VDom_Types.Widget) {\n var v = Halogen_VDom_Machine.step(state.widget, vdom.value0);\n var res$prime = Halogen_VDom_Machine.unStep(function (v1) {\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(v1.value0, {\n build: state.build,\n widget: v\n }, patchWidget, haltWidget));\n })(v);\n return res$prime;\n };\n haltWidget(state);\n return state.build(vdom);\n };\n var haltText = function (v) {\n var v1 = Halogen_VDom_Util.parentNode(v.node);\n return Halogen_VDom_Util.removeChild(v.node, v1);\n };\n var patchText = function (state, vdom) {\n if (vdom instanceof Halogen_VDom_Types.Grafted) {\n return patchText(state, Halogen_VDom_Types.runGraft(vdom.value0));\n };\n if (vdom instanceof Halogen_VDom_Types.Text) {\n if (state.value === vdom.value0) {\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, state, patchText, haltText));\n };\n if (Data_Boolean.otherwise) {\n var nextState = {\n build: state.build,\n node: state.node,\n value: vdom.value0\n };\n Halogen_VDom_Util.setTextContent(vdom.value0, state.node);\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, patchText, haltText));\n };\n };\n haltText(state);\n return state.build(vdom);\n };\n var haltKeyed = function (v) {\n var v1 = Halogen_VDom_Util.parentNode(v.node);\n Halogen_VDom_Util.removeChild(v.node, v1);\n Halogen_VDom_Util.forInE(v.children, function (v2, s) {\n return Halogen_VDom_Machine.halt(s);\n });\n return Halogen_VDom_Machine.halt(v.attrs);\n };\n var haltElem = function (v) {\n var v1 = Halogen_VDom_Util.parentNode(v.node);\n Halogen_VDom_Util.removeChild(v.node, v1);\n Halogen_VDom_Util.forEachE(v.children, Halogen_VDom_Machine.halt);\n return Halogen_VDom_Machine.halt(v.attrs);\n };\n var eqElemSpec = function (ns1, v, ns2, v1) {\n var $84 = v === v1;\n if ($84) {\n if (ns1 instanceof Data_Maybe.Just && (ns2 instanceof Data_Maybe.Just && ns1.value0 === ns2.value0)) {\n return true;\n };\n if (ns1 instanceof Data_Maybe.Nothing && ns2 instanceof Data_Maybe.Nothing) {\n return true;\n };\n return false;\n };\n return false;\n };\n var patchElem = function (state, vdom) {\n if (vdom instanceof Halogen_VDom_Types.Grafted) {\n return patchElem(state, Halogen_VDom_Types.runGraft(vdom.value0));\n };\n if (vdom instanceof Halogen_VDom_Types.Elem && eqElemSpec(state.ns, state.name, vdom.value0, vdom.value1)) {\n var v = Data_Array.length(vdom.value3);\n var v1 = Data_Array.length(state.children);\n if (v1 === 0 && v === 0) {\n var v2 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: v2,\n ns: vdom.value0,\n name: vdom.value1,\n children: state.children\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, patchElem, haltElem));\n };\n var onThis = function (ix, s) {\n return Halogen_VDom_Machine.halt(s);\n };\n var onThese = function (ix, s, v2) {\n var v3 = Halogen_VDom_Machine.step(s, v2);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(v3), state.node);\n return v3;\n };\n var onThat = function (ix, v2) {\n var v3 = state.build(v2);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(v3), state.node);\n return v3;\n };\n var v2 = Halogen_VDom_Util.diffWithIxE(state.children, vdom.value3, onThese, onThis, onThat);\n var v3 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: v3,\n ns: vdom.value0,\n name: vdom.value1,\n children: v2\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, patchElem, haltElem));\n };\n haltElem(state);\n return state.build(vdom);\n };\n var patchKeyed = function (state, vdom) {\n if (vdom instanceof Halogen_VDom_Types.Grafted) {\n return patchKeyed(state, Halogen_VDom_Types.runGraft(vdom.value0));\n };\n if (vdom instanceof Halogen_VDom_Types.Keyed && eqElemSpec(state.ns, state.name, vdom.value0, vdom.value1)) {\n var v = Data_Array.length(vdom.value3);\n if (state.length === 0 && v === 0) {\n var v2 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: v2,\n ns: vdom.value0,\n name: vdom.value1,\n children: state.children,\n length: 0\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, patchKeyed, haltKeyed));\n };\n var onThis = function (v2, s) {\n return Halogen_VDom_Machine.halt(s);\n };\n var onThese = function (v2, ix$prime, s, v3) {\n var v5 = Halogen_VDom_Machine.step(s, v3.value1);\n Halogen_VDom_Util.insertChildIx(ix$prime, Halogen_VDom_Machine.extract(v5), state.node);\n return v5;\n };\n var onThat = function (v2, ix, v3) {\n var v5 = state.build(v3.value1);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(v5), state.node);\n return v5;\n };\n var v2 = Halogen_VDom_Util.diffWithKeyAndIxE(state.children, vdom.value3, Data_Tuple.fst, onThese, onThis, onThat);\n var v3 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: v3,\n ns: vdom.value0,\n name: vdom.value1,\n children: v2,\n length: v\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, patchKeyed, haltKeyed));\n };\n haltKeyed(state);\n return state.build(vdom);\n };\n var buildWidget = function (v, build, w) {\n var v1 = v.buildWidget(v)(w);\n var res$prime = Halogen_VDom_Machine.unStep(function (v2) {\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(v2.value0, {\n build: build,\n widget: v1\n }, patchWidget, haltWidget));\n })(v1);\n return res$prime;\n };\n var buildText = function (v, build, s) {\n var v1 = Halogen_VDom_Util.createTextNode(s, v.document);\n var state = {\n build: build,\n node: v1,\n value: s\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(v1, state, patchText, haltText));\n };\n var buildKeyed = function (v, build, ns1, name1, as1, ch1) {\n var v1 = Halogen_VDom_Util.createElement(Data_Nullable.toNullable(ns1), name1, v.document);\n var node = Web_DOM_Element.toNode(v1);\n var onChild = function (k, ix, v2) {\n var v3 = build(v2.value1);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(v3), node);\n return v3;\n };\n var v2 = Halogen_VDom_Util.strMapWithIxE(ch1, Data_Tuple.fst, onChild);\n var v3 = v.buildAttributes(v1)(as1);\n var state = {\n build: build,\n node: node,\n attrs: v3,\n ns: ns1,\n name: name1,\n children: v2,\n length: Data_Array.length(ch1)\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(node, state, patchKeyed, haltKeyed));\n };\n var buildElem = function (v, build, ns1, name1, as1, ch1) {\n var v1 = Halogen_VDom_Util.createElement(Data_Nullable.toNullable(ns1), name1, v.document);\n var node = Web_DOM_Element.toNode(v1);\n var onChild = function (ix, child) {\n var v2 = build(child);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(v2), node);\n return v2;\n };\n var v2 = Halogen_VDom_Util.forE(ch1, onChild);\n var v3 = v.buildAttributes(v1)(as1);\n var state = {\n build: build,\n node: node,\n attrs: v3,\n ns: ns1,\n name: name1,\n children: v2\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(node, state, patchElem, haltElem));\n };\n var buildVDom = function (spec) {\n var build = function (v) {\n if (v instanceof Halogen_VDom_Types.Text) {\n return buildText(spec, build, v.value0);\n };\n if (v instanceof Halogen_VDom_Types.Elem) {\n return buildElem(spec, build, v.value0, v.value1, v.value2, v.value3);\n };\n if (v instanceof Halogen_VDom_Types.Keyed) {\n return buildKeyed(spec, build, v.value0, v.value1, v.value2, v.value3);\n };\n if (v instanceof Halogen_VDom_Types.Widget) {\n return buildWidget(spec, build, v.value0);\n };\n if (v instanceof Halogen_VDom_Types.Grafted) {\n return build(Halogen_VDom_Types.runGraft(v.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM (line 58, column 27 - line 63, column 52): \" + [ v.constructor.name ]);\n };\n return build;\n };\n exports[\"buildVDom\"] = buildVDom;\n exports[\"buildText\"] = buildText;\n exports[\"buildElem\"] = buildElem;\n exports[\"buildKeyed\"] = buildKeyed;\n exports[\"buildWidget\"] = buildWidget;\n})(PS[\"Halogen.VDom.DOM\"] = PS[\"Halogen.VDom.DOM\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Effect = PS[\"Effect\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Halogen_VDom = PS[\"Halogen.VDom\"];\n var Halogen_VDom_DOM = PS[\"Halogen.VDom.DOM\"];\n var Halogen_VDom_Machine = PS[\"Halogen.VDom.Machine\"];\n var Halogen_VDom_Util = PS[\"Halogen.VDom.Util\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Node = PS[\"Web.DOM.Node\"]; \n var Thunk = (function () {\n function Thunk(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Thunk.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Thunk(value0, value1, value2, value3);\n };\n };\n };\n };\n return Thunk;\n })(); \n var unsafeEqThunk = function (v, v1) {\n return Halogen_VDom_Util.refEq(v.value0, v1.value0) && (Halogen_VDom_Util.refEq(v.value1, v1.value1) && Halogen_VDom_Util.refEq(v.value3, v1.value3));\n };\n var thunk = function (tid, eqFn, f, a) {\n return new Thunk(tid, eqFn, f, a);\n };\n var runThunk = function (v) {\n return v.value2(v.value3);\n };\n var buildThunk = function (toVDom) {\n var haltThunk = function (state) {\n return Halogen_VDom_Machine.halt(state.vdom);\n };\n var patchThunk = function (state, t2) {\n var $45 = unsafeEqThunk(state.thunk, t2);\n if ($45) {\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(state.vdom), state, patchThunk, haltThunk));\n };\n var v = Halogen_VDom_Machine.step(state.vdom, toVDom(runThunk(t2)));\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(v), {\n vdom: v,\n thunk: t2\n }, patchThunk, haltThunk));\n };\n var renderThunk = function (spec) {\n return function (t) {\n var v = Halogen_VDom_DOM.buildVDom(spec)(toVDom(runThunk(t)));\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(v), {\n thunk: t,\n vdom: v\n }, patchThunk, haltThunk));\n };\n };\n return renderThunk;\n };\n exports[\"buildThunk\"] = buildThunk;\n exports[\"runThunk\"] = runThunk;\n})(PS[\"Halogen.VDom.Thunk\"] = PS[\"Halogen.VDom.Thunk\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Coyoneda = PS[\"Data.Coyoneda\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Halogen_Data_Slot = PS[\"Halogen.Data.Slot\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Halogen_Query_HalogenQ = PS[\"Halogen.Query.HalogenQ\"];\n var Halogen_VDom_Thunk = PS[\"Halogen.VDom.Thunk\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"]; \n var ComponentSlot = (function () {\n function ComponentSlot(value0) {\n this.value0 = value0;\n };\n ComponentSlot.create = function (value0) {\n return new ComponentSlot(value0);\n };\n return ComponentSlot;\n })();\n var ThunkSlot = (function () {\n function ThunkSlot(value0) {\n this.value0 = value0;\n };\n ThunkSlot.create = function (value0) {\n return new ThunkSlot(value0);\n };\n return ThunkSlot;\n })();\n var unComponentSlot = Unsafe_Coerce.unsafeCoerce;\n var unComponent = Unsafe_Coerce.unsafeCoerce;\n var mkEval = function (args) {\n return function (v) {\n if (v instanceof Halogen_Query_HalogenQ.Initialize) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(Data_Foldable.traverse_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(args.handleAction)(args.initialize))(v.value0);\n };\n if (v instanceof Halogen_Query_HalogenQ.Finalize) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(Data_Foldable.traverse_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(args.handleAction)(args.finalize))(v.value0);\n };\n if (v instanceof Halogen_Query_HalogenQ.Receive) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(Data_Foldable.traverse_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(args.handleAction)(args.receive(v.value0)))(v.value1);\n };\n if (v instanceof Halogen_Query_HalogenQ.Action) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(args.handleAction(v.value0))(v.value1);\n };\n if (v instanceof Halogen_Query_HalogenQ.Query) {\n return Data_Coyoneda.unCoyoneda(function (g) {\n return function ($23) {\n return Data_Functor.map(Halogen_Query_HalogenM.functorHalogenM)(Data_Maybe.maybe(v.value1(Data_Unit.unit))(g))(args.handleQuery($23));\n };\n })(v.value0);\n };\n throw new Error(\"Failed pattern match at Halogen.Component (line 170, column 15 - line 180, column 70): \" + [ v.constructor.name ]);\n };\n };\n var mkComponentSlot = Unsafe_Coerce.unsafeCoerce;\n var mkComponent = Unsafe_Coerce.unsafeCoerce;\n var defaultEval = {\n handleAction: Data_Function[\"const\"](Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit)),\n handleQuery: Data_Function[\"const\"](Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Maybe.Nothing.value)),\n receive: Data_Function[\"const\"](Data_Maybe.Nothing.value),\n initialize: Data_Maybe.Nothing.value,\n finalize: Data_Maybe.Nothing.value\n };\n var componentSlot = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (label) {\n return function (p) {\n return function (comp) {\n return function (input) {\n return function (output) {\n return mkComponentSlot({\n get: Halogen_Data_Slot.lookup(dictCons)(dictIsSymbol)(dictOrd)(label)(p),\n pop: Halogen_Data_Slot.pop(dictCons)(dictIsSymbol)(dictOrd)(label)(p),\n set: Halogen_Data_Slot.insert(dictCons)(dictIsSymbol)(dictOrd)(label)(p),\n component: comp,\n input: new Halogen_Query_HalogenQ.Receive(input, Data_Unit.unit),\n output: output\n });\n };\n };\n };\n };\n };\n };\n };\n };\n exports[\"mkComponent\"] = mkComponent;\n exports[\"unComponent\"] = unComponent;\n exports[\"mkEval\"] = mkEval;\n exports[\"defaultEval\"] = defaultEval;\n exports[\"ComponentSlot\"] = ComponentSlot;\n exports[\"ThunkSlot\"] = ThunkSlot;\n exports[\"componentSlot\"] = componentSlot;\n exports[\"mkComponentSlot\"] = mkComponentSlot;\n exports[\"unComponentSlot\"] = unComponentSlot;\n})(PS[\"Halogen.Component\"] = PS[\"Halogen.Component\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var ButtonButton = (function () {\n function ButtonButton() {\n\n };\n ButtonButton.value = new ButtonButton();\n return ButtonButton;\n })();\n var ButtonSubmit = (function () {\n function ButtonSubmit() {\n\n };\n ButtonSubmit.value = new ButtonSubmit();\n return ButtonSubmit;\n })();\n var ButtonReset = (function () {\n function ButtonReset() {\n\n };\n ButtonReset.value = new ButtonReset();\n return ButtonReset;\n })();\n var renderButtonType = function (v) {\n if (v instanceof ButtonButton) {\n return \"button\";\n };\n if (v instanceof ButtonSubmit) {\n return \"submit\";\n };\n if (v instanceof ButtonReset) {\n return \"reset\";\n };\n throw new Error(\"Failed pattern match at DOM.HTML.Indexed.ButtonType (line 9, column 20 - line 12, column 18): \" + [ v.constructor.name ]);\n };\n exports[\"ButtonButton\"] = ButtonButton;\n exports[\"ButtonSubmit\"] = ButtonSubmit;\n exports[\"ButtonReset\"] = ButtonReset;\n exports[\"renderButtonType\"] = renderButtonType;\n})(PS[\"DOM.HTML.Indexed.ButtonType\"] = PS[\"DOM.HTML.Indexed.ButtonType\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var On = (function () {\n function On() {\n\n };\n On.value = new On();\n return On;\n })();\n var Off = (function () {\n function Off() {\n\n };\n Off.value = new Off();\n return Off;\n })();\n var renderOnOff = function (v) {\n if (v instanceof On) {\n return \"on\";\n };\n if (v instanceof Off) {\n return \"off\";\n };\n throw new Error(\"Failed pattern match at DOM.HTML.Indexed.OnOff (line 8, column 15 - line 10, column 10): \" + [ v.constructor.name ]);\n };\n exports[\"On\"] = On;\n exports[\"Off\"] = Off;\n exports[\"renderOnOff\"] = renderOnOff;\n})(PS[\"DOM.HTML.Indexed.OnOff\"] = PS[\"DOM.HTML.Indexed.OnOff\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Foreign = PS[\"Foreign\"];\n var Foreign_Object = PS[\"Foreign.Object\"];\n var Halogen_VDom = PS[\"Halogen.VDom\"];\n var Halogen_VDom_Machine = PS[\"Halogen.VDom.Machine\"];\n var Halogen_VDom_Types = PS[\"Halogen.VDom.Types\"];\n var Halogen_VDom_Util = PS[\"Halogen.VDom.Util\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"]; \n var Created = (function () {\n function Created(value0) {\n this.value0 = value0;\n };\n Created.create = function (value0) {\n return new Created(value0);\n };\n return Created;\n })();\n var Removed = (function () {\n function Removed(value0) {\n this.value0 = value0;\n };\n Removed.create = function (value0) {\n return new Removed(value0);\n };\n return Removed;\n })();\n var Attribute = (function () {\n function Attribute(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n Attribute.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new Attribute(value0, value1, value2);\n };\n };\n };\n return Attribute;\n })();\n var Property = (function () {\n function Property(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Property.create = function (value0) {\n return function (value1) {\n return new Property(value0, value1);\n };\n };\n return Property;\n })();\n var Handler = (function () {\n function Handler(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Handler.create = function (value0) {\n return function (value1) {\n return new Handler(value0, value1);\n };\n };\n return Handler;\n })();\n var Ref = (function () {\n function Ref(value0) {\n this.value0 = value0;\n };\n Ref.create = function (value0) {\n return new Ref(value0);\n };\n return Ref;\n })();\n var unsafeGetProperty = Halogen_VDom_Util.unsafeGetAny;\n var setProperty = Halogen_VDom_Util.unsafeSetAny;\n var removeProperty = function (key, el) {\n var v = Foreign.typeOf(Halogen_VDom_Util.unsafeGetAny(key, el));\n if (v === \"string\") {\n return Halogen_VDom_Util.unsafeSetAny(key, \"\", el);\n };\n if (key === \"rowSpan\") {\n return Halogen_VDom_Util.unsafeSetAny(key, 1, el);\n };\n if (key === \"colSpan\") {\n return Halogen_VDom_Util.unsafeSetAny(key, 1, el);\n };\n return Halogen_VDom_Util.unsafeSetAny(key, Halogen_VDom_Util.jsUndefined, el);\n };\n var propToStrKey = function (v) {\n if (v instanceof Attribute && v.value0 instanceof Data_Maybe.Just) {\n return \"attr/\" + (v.value0.value0 + (\":\" + v.value1));\n };\n if (v instanceof Attribute) {\n return \"attr/:\" + v.value1;\n };\n if (v instanceof Property) {\n return \"prop/\" + v.value0;\n };\n if (v instanceof Handler) {\n return \"handler/\" + v.value0;\n };\n if (v instanceof Ref) {\n return \"ref\";\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM.Prop (line 182, column 16 - line 189, column 1): \" + [ v.constructor.name ]);\n };\n var propFromString = Unsafe_Coerce.unsafeCoerce;\n var propFromInt = Unsafe_Coerce.unsafeCoerce;\n var propFromBoolean = Unsafe_Coerce.unsafeCoerce;\n var buildProp = function (emit) {\n return function (el) {\n var removeProp = function (prevEvents) {\n return function (v, v1) {\n if (v1 instanceof Attribute) {\n return Halogen_VDom_Util.removeAttribute(Data_Nullable.toNullable(v1.value0), v1.value1, el);\n };\n if (v1 instanceof Property) {\n return removeProperty(v1.value0, el);\n };\n if (v1 instanceof Handler) {\n var handler = Halogen_VDom_Util.unsafeLookup(v1.value0, prevEvents);\n return Halogen_VDom_Util.removeEventListener(v1.value0, Data_Tuple.fst(handler), el);\n };\n if (v1 instanceof Ref) {\n return Data_Unit.unit;\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM.Prop (line 169, column 5 - line 179, column 18): \" + [ v1.constructor.name ]);\n };\n };\n var mbEmit = function (v) {\n if (v instanceof Data_Maybe.Just) {\n return emit(v.value0)();\n };\n return Data_Unit.unit;\n };\n var haltProp = function (state) {\n var v = Foreign_Object.lookup(\"ref\")(state.props);\n if (v instanceof Data_Maybe.Just && v.value0 instanceof Ref) {\n return mbEmit(v.value0.value0(new Removed(el)));\n };\n return Data_Unit.unit;\n };\n var diffProp = function (prevEvents, events) {\n return function (v, v1, v11, v2) {\n if (v11 instanceof Attribute && v2 instanceof Attribute) {\n var $61 = v11.value2 === v2.value2;\n if ($61) {\n return v2;\n };\n Halogen_VDom_Util.setAttribute(Data_Nullable.toNullable(v2.value0), v2.value1, v2.value2, el);\n return v2;\n };\n if (v11 instanceof Property && v2 instanceof Property) {\n var v4 = Halogen_VDom_Util.refEq(v11.value1, v2.value1);\n if (v4) {\n return v2;\n };\n if (v2.value0 === \"value\") {\n var elVal = unsafeGetProperty(\"value\", el);\n var $70 = Halogen_VDom_Util.refEq(elVal, v2.value1);\n if ($70) {\n return v2;\n };\n setProperty(v2.value0, v2.value1, el);\n return v2;\n };\n setProperty(v2.value0, v2.value1, el);\n return v2;\n };\n if (v11 instanceof Handler && v2 instanceof Handler) {\n var handler = Halogen_VDom_Util.unsafeLookup(v2.value0, prevEvents);\n Effect_Ref.write(v2.value1)(Data_Tuple.snd(handler))();\n Halogen_VDom_Util.pokeMutMap(v2.value0, handler, events);\n return v2;\n };\n return v2;\n };\n };\n var applyProp = function (events) {\n return function (v, v1, v2) {\n if (v2 instanceof Attribute) {\n Halogen_VDom_Util.setAttribute(Data_Nullable.toNullable(v2.value0), v2.value1, v2.value2, el);\n return v2;\n };\n if (v2 instanceof Property) {\n setProperty(v2.value0, v2.value1, el);\n return v2;\n };\n if (v2 instanceof Handler) {\n var v3 = Halogen_VDom_Util.unsafeGetAny(v2.value0, events);\n if (Halogen_VDom_Util.unsafeHasAny(v2.value0, events)) {\n Effect_Ref.write(v2.value1)(Data_Tuple.snd(v3))();\n return v2;\n };\n var v4 = Effect_Ref[\"new\"](v2.value1)();\n var v5 = Web_Event_EventTarget.eventListener(function (ev) {\n return function __do() {\n var v5 = Effect_Ref.read(v4)();\n return mbEmit(v5(ev));\n };\n })();\n Halogen_VDom_Util.pokeMutMap(v2.value0, new Data_Tuple.Tuple(v5, v4), events);\n Halogen_VDom_Util.addEventListener(v2.value0, v5, el);\n return v2;\n };\n if (v2 instanceof Ref) {\n mbEmit(v2.value0(new Created(el)));\n return v2;\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM.Prop (line 113, column 5 - line 135, column 15): \" + [ v2.constructor.name ]);\n };\n };\n var patchProp = function (state, ps2) {\n var v = Halogen_VDom_Util.newMutMap();\n var onThis = removeProp(state.events);\n var onThese = diffProp(state.events, v);\n var onThat = applyProp(v);\n var v1 = Halogen_VDom_Util.diffWithKeyAndIxE(state.props, ps2, propToStrKey, onThese, onThis, onThat);\n var nextState = {\n events: Halogen_VDom_Util.unsafeFreeze(v),\n props: v1\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Data_Unit.unit, nextState, patchProp, haltProp));\n };\n var renderProp = function (ps1) {\n var v = Halogen_VDom_Util.newMutMap();\n var v1 = Halogen_VDom_Util.strMapWithIxE(ps1, propToStrKey, applyProp(v));\n var state = {\n events: Halogen_VDom_Util.unsafeFreeze(v),\n props: v1\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Data_Unit.unit, state, patchProp, haltProp));\n };\n return renderProp;\n };\n };\n exports[\"Attribute\"] = Attribute;\n exports[\"Property\"] = Property;\n exports[\"Handler\"] = Handler;\n exports[\"Ref\"] = Ref;\n exports[\"Created\"] = Created;\n exports[\"Removed\"] = Removed;\n exports[\"propFromString\"] = propFromString;\n exports[\"propFromBoolean\"] = propFromBoolean;\n exports[\"propFromInt\"] = propFromInt;\n exports[\"buildProp\"] = buildProp;\n})(PS[\"Halogen.VDom.DOM.Prop\"] = PS[\"Halogen.VDom.DOM.Prop\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed_ButtonType = PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_CrossOriginValue = PS[\"DOM.HTML.Indexed.CrossOriginValue\"];\n var DOM_HTML_Indexed_DirValue = PS[\"DOM.HTML.Indexed.DirValue\"];\n var DOM_HTML_Indexed_FormMethod = PS[\"DOM.HTML.Indexed.FormMethod\"];\n var DOM_HTML_Indexed_InputAcceptType = PS[\"DOM.HTML.Indexed.InputAcceptType\"];\n var DOM_HTML_Indexed_InputType = PS[\"DOM.HTML.Indexed.InputType\"];\n var DOM_HTML_Indexed_KindValue = PS[\"DOM.HTML.Indexed.KindValue\"];\n var DOM_HTML_Indexed_MenuType = PS[\"DOM.HTML.Indexed.MenuType\"];\n var DOM_HTML_Indexed_MenuitemType = PS[\"DOM.HTML.Indexed.MenuitemType\"];\n var DOM_HTML_Indexed_OnOff = PS[\"DOM.HTML.Indexed.OnOff\"];\n var DOM_HTML_Indexed_OrderedListType = PS[\"DOM.HTML.Indexed.OrderedListType\"];\n var DOM_HTML_Indexed_PreloadValue = PS[\"DOM.HTML.Indexed.PreloadValue\"];\n var DOM_HTML_Indexed_ScopeValue = PS[\"DOM.HTML.Indexed.ScopeValue\"];\n var DOM_HTML_Indexed_StepValue = PS[\"DOM.HTML.Indexed.StepValue\"];\n var DOM_HTML_Indexed_WrapValue = PS[\"DOM.HTML.Indexed.WrapValue\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_MediaType = PS[\"Data.MediaType\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Halogen_Query_Input = PS[\"Halogen.Query.Input\"];\n var Halogen_VDom = PS[\"Halogen.VDom\"];\n var Halogen_VDom_DOM_Prop = PS[\"Halogen.VDom.DOM.Prop\"];\n var Halogen_VDom_Types = PS[\"Halogen.VDom.Types\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var HTML = function (x) {\n return x;\n };\n var ClassName = function (x) {\n return x;\n };\n var IsProp = function (toPropValue) {\n this.toPropValue = toPropValue;\n };\n var toPropValue = function (dict) {\n return dict.toPropValue;\n };\n var text = function ($26) {\n return HTML(Halogen_VDom_Types.Text.create($26));\n };\n var slot = function ($27) {\n return HTML(Halogen_VDom_Types.Widget.create($27));\n }; \n var ref = function (f) {\n return Halogen_VDom_DOM_Prop.Ref.create(function ($28) {\n return f((function (v) {\n if (v instanceof Halogen_VDom_DOM_Prop.Created) {\n return new Data_Maybe.Just(v.value0);\n };\n if (v instanceof Halogen_VDom_DOM_Prop.Removed) {\n return Data_Maybe.Nothing.value;\n };\n throw new Error(\"Failed pattern match at Halogen.HTML.Core (line 100, column 21 - line 102, column 23): \" + [ v.constructor.name ]);\n })($28));\n });\n };\n var prop = function (dictIsProp) {\n return function (v) {\n return function ($29) {\n return Halogen_VDom_DOM_Prop.Property.create(v)(toPropValue(dictIsProp)($29));\n };\n };\n }; \n var newtypeHTML = new Data_Newtype.Newtype(function (n) {\n return n;\n }, HTML);\n var newtypeClassName = new Data_Newtype.Newtype(function (n) {\n return n;\n }, ClassName);\n var isPropString = new IsProp(Halogen_VDom_DOM_Prop.propFromString);\n var isPropOnOff = new IsProp(function ($35) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_OnOff.renderOnOff($35));\n });\n var isPropInt = new IsProp(Halogen_VDom_DOM_Prop.propFromInt);\n var isPropInputType = new IsProp(function ($40) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_InputType.renderInputType($40));\n });\n var isPropButtonType = new IsProp(function ($45) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_ButtonType.renderButtonType($45));\n });\n var isPropBoolean = new IsProp(Halogen_VDom_DOM_Prop.propFromBoolean);\n var handler = Halogen_VDom_DOM_Prop.Handler.create;\n var element = function (ns) {\n return function (name) {\n return function (props) {\n return function (children) {\n return new Halogen_VDom_Types.Elem(ns, name, props, children);\n };\n };\n };\n }; \n var attr = function (ns) {\n return function (v) {\n return Halogen_VDom_DOM_Prop.Attribute.create(ns)(v);\n };\n };\n exports[\"HTML\"] = HTML;\n exports[\"slot\"] = slot;\n exports[\"text\"] = text;\n exports[\"element\"] = element;\n exports[\"prop\"] = prop;\n exports[\"attr\"] = attr;\n exports[\"handler\"] = handler;\n exports[\"ref\"] = ref;\n exports[\"IsProp\"] = IsProp;\n exports[\"toPropValue\"] = toPropValue;\n exports[\"ClassName\"] = ClassName;\n exports[\"newtypeHTML\"] = newtypeHTML;\n exports[\"isPropString\"] = isPropString;\n exports[\"isPropInt\"] = isPropInt;\n exports[\"isPropBoolean\"] = isPropBoolean;\n exports[\"isPropButtonType\"] = isPropButtonType;\n exports[\"isPropInputType\"] = isPropInputType;\n exports[\"isPropOnOff\"] = isPropOnOff;\n exports[\"newtypeClassName\"] = newtypeClassName;\n})(PS[\"Halogen.HTML.Core\"] = PS[\"Halogen.HTML.Core\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed = PS[\"DOM.HTML.Indexed\"];\n var DOM_HTML_Indexed_ButtonType = PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_FormMethod = PS[\"DOM.HTML.Indexed.FormMethod\"];\n var DOM_HTML_Indexed_InputAcceptType = PS[\"DOM.HTML.Indexed.InputAcceptType\"];\n var DOM_HTML_Indexed_InputType = PS[\"DOM.HTML.Indexed.InputType\"];\n var DOM_HTML_Indexed_MenuType = PS[\"DOM.HTML.Indexed.MenuType\"];\n var DOM_HTML_Indexed_MenuitemType = PS[\"DOM.HTML.Indexed.MenuitemType\"];\n var DOM_HTML_Indexed_OnOff = PS[\"DOM.HTML.Indexed.OnOff\"];\n var DOM_HTML_Indexed_OrderedListType = PS[\"DOM.HTML.Indexed.OrderedListType\"];\n var DOM_HTML_Indexed_PreloadValue = PS[\"DOM.HTML.Indexed.PreloadValue\"];\n var DOM_HTML_Indexed_StepValue = PS[\"DOM.HTML.Indexed.StepValue\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_MediaType = PS[\"Data.MediaType\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_Query_Input = PS[\"Halogen.Query.Input\"];\n var Halogen_VDom_DOM_Prop = PS[\"Halogen.VDom.DOM.Prop\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var ref = (function () {\n var go = function (p) {\n return function (mel) {\n return new Data_Maybe.Just(new Halogen_Query_Input.RefUpdate(p, mel));\n };\n };\n return function ($10) {\n return Halogen_HTML_Core.ref(go($10));\n };\n })();\n var prop = function (dictIsProp) {\n return Halogen_HTML_Core.prop(dictIsProp);\n }; \n var required = prop(Halogen_HTML_Core.isPropBoolean)(\"required\");\n var rows = prop(Halogen_HTML_Core.isPropInt)(\"rows\"); \n var target = prop(Halogen_HTML_Core.isPropString)(\"target\");\n var title = prop(Halogen_HTML_Core.isPropString)(\"title\");\n var type_ = function (dictIsProp) {\n return prop(dictIsProp)(\"type\");\n };\n var value = prop(Halogen_HTML_Core.isPropString)(\"value\");\n var name = prop(Halogen_HTML_Core.isPropString)(\"name\"); \n var id_ = prop(Halogen_HTML_Core.isPropString)(\"id\");\n var href = prop(Halogen_HTML_Core.isPropString)(\"href\");\n var $$for = prop(Halogen_HTML_Core.isPropString)(\"htmlFor\");\n var class_ = function ($13) {\n return prop(Halogen_HTML_Core.isPropString)(\"className\")(Data_Newtype.unwrap(Halogen_HTML_Core.newtypeClassName)($13));\n };\n var checked = prop(Halogen_HTML_Core.isPropBoolean)(\"checked\"); \n var autofocus = prop(Halogen_HTML_Core.isPropBoolean)(\"autofocus\");\n var autocomplete = function ($14) {\n return prop(Halogen_HTML_Core.isPropOnOff)(\"autocomplete\")((function (b) {\n if (b) {\n return DOM_HTML_Indexed_OnOff.On.value;\n };\n return DOM_HTML_Indexed_OnOff.Off.value;\n })($14));\n };\n var attr = Halogen_HTML_Core.attr(Data_Maybe.Nothing.value);\n exports[\"prop\"] = prop;\n exports[\"attr\"] = attr;\n exports[\"ref\"] = ref;\n exports[\"class_\"] = class_;\n exports[\"rows\"] = rows;\n exports[\"for\"] = $$for;\n exports[\"href\"] = href;\n exports[\"id_\"] = id_;\n exports[\"name\"] = name;\n exports[\"target\"] = target;\n exports[\"title\"] = title;\n exports[\"type_\"] = type_;\n exports[\"value\"] = value;\n exports[\"required\"] = required;\n exports[\"checked\"] = checked;\n exports[\"autocomplete\"] = autocomplete;\n exports[\"autofocus\"] = autofocus;\n})(PS[\"Halogen.HTML.Properties\"] = PS[\"Halogen.HTML.Properties\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed = PS[\"DOM.HTML.Indexed\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_Input = PS[\"Halogen.Query.Input\"];\n var Halogen_VDom = PS[\"Halogen.VDom\"];\n var Halogen_VDom_Types = PS[\"Halogen.VDom.Types\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var element = Halogen_HTML_Core.element(Data_Maybe.Nothing.value);\n var form = element(\"form\");\n var input = function (props) {\n return element(\"input\")(props)([ ]);\n }; \n var label = element(\"label\");\n var p = element(\"p\");\n var span = element(\"span\");\n var table = element(\"table\");\n var tbody = element(\"tbody\");\n var tbody_ = tbody([ ]);\n var td = element(\"td\");\n var td_ = td([ ]);\n var textarea = function (es) {\n return element(\"textarea\")(es)([ ]);\n }; \n var tr = element(\"tr\");\n var tr_ = tr([ ]);\n var div = element(\"div\");\n var div_ = div([ ]);\n var button = element(\"button\");\n var br = function (props) {\n return element(\"br\")(props)([ ]);\n };\n var br_ = br([ ]); \n var a = element(\"a\");\n exports[\"element\"] = element;\n exports[\"a\"] = a;\n exports[\"br\"] = br;\n exports[\"br_\"] = br_;\n exports[\"button\"] = button;\n exports[\"div\"] = div;\n exports[\"div_\"] = div_;\n exports[\"form\"] = form;\n exports[\"input\"] = input;\n exports[\"label\"] = label;\n exports[\"p\"] = p;\n exports[\"span\"] = span;\n exports[\"table\"] = table;\n exports[\"tbody\"] = tbody;\n exports[\"tbody_\"] = tbody_;\n exports[\"td\"] = td;\n exports[\"td_\"] = td_;\n exports[\"textarea\"] = textarea;\n exports[\"tr\"] = tr;\n exports[\"tr_\"] = tr_;\n})(PS[\"Halogen.HTML.Elements\"] = PS[\"Halogen.HTML.Elements\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_Data_Slot = PS[\"Halogen.Data.Slot\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_VDom_Thunk = PS[\"Halogen.VDom.Thunk\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"]; \n var slot = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (label) {\n return function (p) {\n return function (component) {\n return function (input) {\n return function (outputQuery) {\n return Halogen_HTML_Core.slot(new Halogen_Component.ComponentSlot(Halogen_Component.componentSlot(dictCons)(dictIsSymbol)(dictOrd)(label)(p)(component)(input)(outputQuery)));\n };\n };\n };\n };\n };\n };\n };\n };\n exports[\"slot\"] = slot;\n})(PS[\"Halogen.HTML\"] = PS[\"Halogen.HTML\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var change = \"change\";\n exports[\"change\"] = change;\n})(PS[\"Web.HTML.Event.EventTypes\"] = PS[\"Web.HTML.Event.EventTypes\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var click = \"click\";\n exports[\"click\"] = click;\n})(PS[\"Web.UIEvent.MouseEvent.EventTypes\"] = PS[\"Web.UIEvent.MouseEvent.EventTypes\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Except = PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Foreign = PS[\"Foreign\"];\n var Foreign_Index = PS[\"Foreign.Index\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_Input = PS[\"Halogen.Query.Input\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_Clipboard_ClipboardEvent = PS[\"Web.Clipboard.ClipboardEvent\"];\n var Web_Clipboard_ClipboardEvent_EventTypes = PS[\"Web.Clipboard.ClipboardEvent.EventTypes\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_HTML_Event_DragEvent = PS[\"Web.HTML.Event.DragEvent\"];\n var Web_HTML_Event_DragEvent_EventTypes = PS[\"Web.HTML.Event.DragEvent.EventTypes\"];\n var Web_HTML_Event_EventTypes = PS[\"Web.HTML.Event.EventTypes\"];\n var Web_TouchEvent_TouchEvent = PS[\"Web.TouchEvent.TouchEvent\"];\n var Web_UIEvent_FocusEvent = PS[\"Web.UIEvent.FocusEvent\"];\n var Web_UIEvent_FocusEvent_EventTypes = PS[\"Web.UIEvent.FocusEvent.EventTypes\"];\n var Web_UIEvent_KeyboardEvent = PS[\"Web.UIEvent.KeyboardEvent\"];\n var Web_UIEvent_KeyboardEvent_EventTypes = PS[\"Web.UIEvent.KeyboardEvent.EventTypes\"];\n var Web_UIEvent_MouseEvent = PS[\"Web.UIEvent.MouseEvent\"];\n var Web_UIEvent_MouseEvent_EventTypes = PS[\"Web.UIEvent.MouseEvent.EventTypes\"];\n var Web_UIEvent_WheelEvent = PS[\"Web.UIEvent.WheelEvent\"];\n var Web_UIEvent_WheelEvent_EventTypes = PS[\"Web.UIEvent.WheelEvent.EventTypes\"];\n var mouseHandler = Unsafe_Coerce.unsafeCoerce;\n var handler = function (et) {\n return function ($0) {\n return Halogen_HTML_Core.handler(et)(Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Maybe.functorMaybe)(Halogen_Query_Input.Action.create))($0));\n };\n }; \n var onClick = function ($1) {\n return handler(Web_UIEvent_MouseEvent_EventTypes.click)(mouseHandler($1));\n }; \n var onSubmit = handler(\"submit\");\n var addForeignPropHandler = function (key) {\n return function (prop) {\n return function (reader) {\n return function (f) {\n var go = function (a) {\n return Control_Bind.composeKleisliFlipped(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(reader)(Foreign_Index.readProp(prop))(Foreign.unsafeToForeign(a));\n };\n return handler(key)(Control_Bind.composeKleisli(Data_Maybe.bindMaybe)(Web_Event_Event.currentTarget)(function (e) {\n return Data_Either.either(Data_Function[\"const\"](Data_Maybe.Nothing.value))(f)(Control_Monad_Except.runExcept(go(e)));\n }));\n };\n };\n };\n };\n var onChecked = addForeignPropHandler(Web_HTML_Event_EventTypes.change)(\"checked\")(Foreign.readBoolean); \n var onValueChange = addForeignPropHandler(Web_HTML_Event_EventTypes.change)(\"value\")(Foreign.readString);\n exports[\"handler\"] = handler;\n exports[\"onSubmit\"] = onSubmit;\n exports[\"onClick\"] = onClick;\n exports[\"onValueChange\"] = onValueChange;\n exports[\"onChecked\"] = onChecked;\n})(PS[\"Halogen.HTML.Events\"] = PS[\"Halogen.HTML.Events\"] || {});\n(function(exports) {\n \"use strict\";\n /* global Symbol */\n\n var hasArrayFrom = typeof Array.from === \"function\";\n var hasStringIterator =\n typeof Symbol !== \"undefined\" &&\n Symbol != null &&\n typeof Symbol.iterator !== \"undefined\" &&\n typeof String.prototype[Symbol.iterator] === \"function\";\n var hasFromCodePoint = typeof String.prototype.fromCodePoint === \"function\";\n var hasCodePointAt = typeof String.prototype.codePointAt === \"function\";\n\n exports._unsafeCodePointAt0 = function (fallback) {\n return hasCodePointAt\n ? function (str) { return str.codePointAt(0); }\n : fallback;\n };\n\n exports._singleton = function (fallback) {\n return hasFromCodePoint ? String.fromCodePoint : fallback;\n };\n\n exports._take = function (fallback) {\n return function (n) {\n if (hasStringIterator) {\n return function (str) {\n var accum = \"\";\n var iter = str[Symbol.iterator]();\n for (var i = 0; i < n; ++i) {\n var o = iter.next();\n if (o.done) return accum;\n accum += o.value;\n }\n return accum;\n };\n }\n return fallback(n);\n };\n };\n\n exports._toCodePointArray = function (fallback) {\n return function (unsafeCodePointAt0) {\n if (hasArrayFrom) {\n return function (str) {\n return Array.from(str, unsafeCodePointAt0);\n };\n }\n return fallback;\n };\n };\n})(PS[\"Data.String.CodePoints\"] = PS[\"Data.String.CodePoints\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.String.CodePoints\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_Enum = PS[\"Data.Enum\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_EuclideanRing = PS[\"Data.EuclideanRing\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Int = PS[\"Data.Int\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String_CodeUnits = PS[\"Data.String.CodeUnits\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_String_Unsafe = PS[\"Data.String.Unsafe\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Prelude = PS[\"Prelude\"];\n var unsurrogate = function (lead) {\n return function (trail) {\n return (((lead - 55296 | 0) * 1024 | 0) + (trail - 56320 | 0) | 0) + 65536 | 0;\n };\n }; \n var isTrail = function (cu) {\n return 56320 <= cu && cu <= 57343;\n };\n var isLead = function (cu) {\n return 55296 <= cu && cu <= 56319;\n };\n var uncons = function (s) {\n var v = Data_String_CodeUnits.length(s);\n if (v === 0) {\n return Data_Maybe.Nothing.value;\n };\n if (v === 1) {\n return new Data_Maybe.Just({\n head: Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s)),\n tail: \"\"\n });\n };\n var cu1 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(1)(s));\n var cu0 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s));\n var $21 = isLead(cu0) && isTrail(cu1);\n if ($21) {\n return new Data_Maybe.Just({\n head: unsurrogate(cu0)(cu1),\n tail: Data_String_CodeUnits.drop(2)(s)\n });\n };\n return new Data_Maybe.Just({\n head: cu0,\n tail: Data_String_CodeUnits.drop(1)(s)\n });\n };\n var unconsButWithTuple = function (s) {\n return Data_Functor.map(Data_Maybe.functorMaybe)(function (v) {\n return new Data_Tuple.Tuple(v.head, v.tail);\n })(uncons(s));\n };\n var toCodePointArrayFallback = function (s) {\n return Data_Unfoldable.unfoldr(Data_Unfoldable.unfoldableArray)(unconsButWithTuple)(s);\n };\n var unsafeCodePointAt0Fallback = function (s) {\n var cu0 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s));\n var $25 = isLead(cu0) && Data_String_CodeUnits.length(s) > 1;\n if ($25) {\n var cu1 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(1)(s));\n var $26 = isTrail(cu1);\n if ($26) {\n return unsurrogate(cu0)(cu1);\n };\n return cu0;\n };\n return cu0;\n };\n var unsafeCodePointAt0 = $foreign[\"_unsafeCodePointAt0\"](unsafeCodePointAt0Fallback);\n var toCodePointArray = $foreign[\"_toCodePointArray\"](toCodePointArrayFallback)(unsafeCodePointAt0);\n var length = function ($52) {\n return Data_Array.length(toCodePointArray($52));\n };\n var fromCharCode = function ($53) {\n return Data_String_CodeUnits.singleton(Data_Enum.toEnumWithDefaults(Data_Enum.boundedEnumChar)(Data_Bounded.bottom(Data_Bounded.boundedChar))(Data_Bounded.top(Data_Bounded.boundedChar))($53));\n };\n var singletonFallback = function (v) {\n if (v <= 65535) {\n return fromCharCode(v);\n };\n var lead = Data_EuclideanRing.div(Data_EuclideanRing.euclideanRingInt)(v - 65536 | 0)(1024) + 55296 | 0;\n var trail = Data_EuclideanRing.mod(Data_EuclideanRing.euclideanRingInt)(v - 65536 | 0)(1024) + 56320 | 0;\n return fromCharCode(lead) + fromCharCode(trail);\n }; \n var singleton = $foreign[\"_singleton\"](singletonFallback);\n var takeFallback = function (n) {\n return function (v) {\n if (n < 1) {\n return \"\";\n };\n var v1 = uncons(v);\n if (v1 instanceof Data_Maybe.Just) {\n return singleton(v1.value0.head) + takeFallback(n - 1 | 0)(v1.value0.tail);\n };\n return v;\n };\n };\n var take = $foreign[\"_take\"](takeFallback);\n var drop = function (n) {\n return function (s) {\n return Data_String_CodeUnits.drop(Data_String_CodeUnits.length(take(n)(s)))(s);\n };\n };\n exports[\"singleton\"] = singleton;\n exports[\"toCodePointArray\"] = toCodePointArray;\n exports[\"uncons\"] = uncons;\n exports[\"length\"] = length;\n exports[\"take\"] = take;\n exports[\"drop\"] = drop;\n})(PS[\"Data.String.CodePoints\"] = PS[\"Data.String.CodePoints\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Maybe_Trans = PS[\"Control.Monad.Maybe.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_CodePoints = PS[\"Data.String.CodePoints\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Global_Unsafe = PS[\"Global.Unsafe\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM = PS[\"Web.DOM\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_NodeList = PS[\"Web.DOM.NodeList\"];\n var Web_DOM_NonElementParentNode = PS[\"Web.DOM.NonElementParentNode\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_HTML = PS[\"Web.HTML\"];\n var Web_HTML_HTMLDocument = PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_Location = PS[\"Web.HTML.Location\"];\n var Web_HTML_Window = PS[\"Web.HTML.Window\"];\n var fromNullableStr = function ($57) {\n return Data_Maybe.fromMaybe(\"\")(Data_Nullable.toMaybe($57));\n };\n var class_ = function ($58) {\n return Halogen_HTML_Properties.class_(Halogen_HTML_Core.ClassName($58));\n };\n var attr = function (a) {\n return Halogen_HTML_Properties.attr(a);\n };\n var _parseQueryString = function (srh) {\n var decode = function ($59) {\n return Global_Unsafe.unsafeDecodeURIComponent(Data_String_Common.replaceAll(\"+\")(\" \")($59));\n };\n var go = function (kv) {\n var v = Data_String_Common.split(\"=\")(kv);\n if (v.length === 1) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(decode(v[0]), Data_Maybe.Nothing.value));\n };\n if (v.length === 2) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(decode(v[0]), new Data_Maybe.Just(decode(v[1]))));\n };\n return Data_Maybe.Nothing.value;\n };\n var qs = (function () {\n var srh$prime = Data_String_CodePoints.take(1)(srh);\n var $54 = srh$prime === \"#\" || srh$prime === \"?\";\n if ($54) {\n return Data_String_CodePoints.drop(1)(srh);\n };\n return srh;\n })();\n return Data_Array.mapMaybe(go)(Data_Array.filter(function (v) {\n return v !== \"\";\n })(Data_String_Common.split(\"&\")(qs)));\n }; \n var _lookupQueryStringValue = function (qs) {\n return function (k) {\n return Control_Bind.join(Data_Maybe.bindMaybe)(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Tuple.snd)(Data_Foldable.find(Data_Foldable.foldableArray)(function ($61) {\n return (function (v) {\n return v === k;\n })(Data_Tuple.fst($61));\n })(qs)));\n };\n };\n var _loc = Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Window.location)(Web_HTML.window);\n var _curQuerystring = function __do() {\n var v = _loc();\n var v1 = Web_HTML_Location.search(v)();\n return _parseQueryString(v1);\n };\n exports[\"class_\"] = class_;\n exports[\"attr\"] = attr;\n exports[\"_loc\"] = _loc;\n exports[\"_curQuerystring\"] = _curQuerystring;\n exports[\"_parseQueryString\"] = _parseQueryString;\n exports[\"_lookupQueryStringValue\"] = _lookupQueryStringValue;\n exports[\"fromNullableStr\"] = fromNullableStr;\n})(PS[\"Util\"] = PS[\"Util\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var App = PS[\"App\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed_InputType = PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Lens = PS[\"Data.Lens\"];\n var Data_Lens_Getter = PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = PS[\"Data.Lens.Setter\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Globals = PS[\"Globals\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Util = PS[\"Util\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"]; \n var EarchiveDefault = (function () {\n function EarchiveDefault(value0) {\n this.value0 = value0;\n };\n EarchiveDefault.create = function (value0) {\n return new EarchiveDefault(value0);\n };\n return EarchiveDefault;\n })();\n var EprivateDefault = (function () {\n function EprivateDefault(value0) {\n this.value0 = value0;\n };\n EprivateDefault.create = function (value0) {\n return new EprivateDefault(value0);\n };\n return EprivateDefault;\n })();\n var EprivacyLock = (function () {\n function EprivacyLock(value0) {\n this.value0 = value0;\n };\n EprivacyLock.create = function (value0) {\n return new EprivacyLock(value0);\n };\n return EprivacyLock;\n })();\n var UEditField = (function () {\n function UEditField(value0) {\n this.value0 = value0;\n };\n UEditField.create = function (value0) {\n return new UEditField(value0);\n };\n return UEditField;\n })();\n var USubmit = (function () {\n function USubmit(value0) {\n this.value0 = value0;\n };\n USubmit.create = function (value0) {\n return new USubmit(value0);\n };\n return USubmit;\n })();\n var _us = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.us;\n })(function (v) {\n return function (v1) {\n return {\n us: v1\n };\n };\n })(dictStrong);\n };\n var usetting = function (u$prime) {\n var render = function (v) {\n var editField = function (f) {\n return function ($21) {\n return Data_Maybe.Just.create(UEditField.create(f($21)));\n };\n };\n return Halogen_HTML_Elements.div([ Util.class_(\"settings-form\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"fw7 mb2\") ])([ Halogen_HTML_Core.text(\"Account Settings\") ]), Halogen_HTML_Elements.div([ Util.class_(\"flex items-center mb2\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"pointer mr2\"), Halogen_HTML_Properties.id_(\"archiveDefault\"), Halogen_HTML_Properties.name(\"archiveDefault\"), Halogen_HTML_Properties.checked(v.us.archiveDefault), Halogen_HTML_Events.onChecked(editField(EarchiveDefault.create)) ]), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"archiveDefault\"), Util.class_(\"lh-copy\") ])([ Halogen_HTML_Core.text(\"Archive Non-Private Bookmarks (archive.li)\") ]) ]), Halogen_HTML_Elements.div([ Util.class_(\"flex items-center mb2\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"pointer mr2\"), Halogen_HTML_Properties.id_(\"privateDefault\"), Halogen_HTML_Properties.name(\"privateDefault\"), Halogen_HTML_Properties.checked(v.us.privateDefault), Halogen_HTML_Events.onChecked(editField(EprivateDefault.create)) ]), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"privateDefault\"), Util.class_(\"lh-copy\") ])([ Halogen_HTML_Core.text(\"Default new bookmarks to Private\") ]) ]), Halogen_HTML_Elements.div([ Util.class_(\"flex items-center mb2\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"pointer mr2\"), Halogen_HTML_Properties.id_(\"privacyLock\"), Halogen_HTML_Properties.name(\"privacyLock\"), Halogen_HTML_Properties.checked(v.us.privacyLock), Halogen_HTML_Events.onChecked(editField(EprivacyLock.create)) ]), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"privacyLock\"), Util.class_(\"lh-copy\") ])([ Halogen_HTML_Core.text(\"Privacy Lock (Private Account)\") ]) ]) ]);\n };\n var mkState = function (u) {\n return {\n us: u\n };\n };\n var handleAction = function (v) {\n if (v instanceof UEditField) {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_us(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof EarchiveDefault) {\n return function (v1) {\n return {\n archiveDefault: v.value0.value0,\n privateDefault: v1.privateDefault,\n privacyLock: v1.privacyLock\n };\n };\n };\n if (v.value0 instanceof EprivateDefault) {\n return function (v1) {\n return {\n archiveDefault: v1.archiveDefault,\n privateDefault: v.value0.value0,\n privacyLock: v1.privacyLock\n };\n };\n };\n if (v.value0 instanceof EprivacyLock) {\n return function (v1) {\n return {\n archiveDefault: v1.archiveDefault,\n privateDefault: v1.privateDefault,\n privacyLock: v.value0.value0\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.AccountSettings (line 80, column 12 - line 83, column 46): \" + [ v.value0.constructor.name ]);\n })());\n };\n if (v instanceof USubmit) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_us(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editAccountSettings(v1)));\n });\n };\n throw new Error(\"Failed pattern match at Component.AccountSettings (line 78, column 3 - line 78, column 69): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(u$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"_us\"] = _us;\n exports[\"UEditField\"] = UEditField;\n exports[\"USubmit\"] = USubmit;\n exports[\"EarchiveDefault\"] = EarchiveDefault;\n exports[\"EprivateDefault\"] = EprivateDefault;\n exports[\"EprivacyLock\"] = EprivacyLock;\n exports[\"usetting\"] = usetting;\n})(PS[\"Component.AccountSettings\"] = PS[\"Component.AccountSettings\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var App = PS[\"App\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed_ButtonType = PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Lens = PS[\"Data.Lens\"];\n var Data_Lens_Getter = PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = PS[\"Data.Lens.Setter\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Globals = PS[\"Globals\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Util = PS[\"Util\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_HTML = PS[\"Web.HTML\"];\n var Web_HTML_Location = PS[\"Web.HTML.Location\"]; \n var Eurl = (function () {\n function Eurl(value0) {\n this.value0 = value0;\n };\n Eurl.create = function (value0) {\n return new Eurl(value0);\n };\n return Eurl;\n })();\n var Etitle = (function () {\n function Etitle(value0) {\n this.value0 = value0;\n };\n Etitle.create = function (value0) {\n return new Etitle(value0);\n };\n return Etitle;\n })();\n var Edescription = (function () {\n function Edescription(value0) {\n this.value0 = value0;\n };\n Edescription.create = function (value0) {\n return new Edescription(value0);\n };\n return Edescription;\n })();\n var Etags = (function () {\n function Etags(value0) {\n this.value0 = value0;\n };\n Etags.create = function (value0) {\n return new Etags(value0);\n };\n return Etags;\n })();\n var Eprivate = (function () {\n function Eprivate(value0) {\n this.value0 = value0;\n };\n Eprivate.create = function (value0) {\n return new Eprivate(value0);\n };\n return Eprivate;\n })();\n var Etoread = (function () {\n function Etoread(value0) {\n this.value0 = value0;\n };\n Etoread.create = function (value0) {\n return new Etoread(value0);\n };\n return Etoread;\n })();\n var BEditField = (function () {\n function BEditField(value0) {\n this.value0 = value0;\n };\n BEditField.create = function (value0) {\n return new BEditField(value0);\n };\n return BEditField;\n })();\n var BEditSubmit = (function () {\n function BEditSubmit(value0) {\n this.value0 = value0;\n };\n BEditSubmit.create = function (value0) {\n return new BEditSubmit(value0);\n };\n return BEditSubmit;\n })();\n var BDeleteAsk = (function () {\n function BDeleteAsk(value0) {\n this.value0 = value0;\n };\n BDeleteAsk.create = function (value0) {\n return new BDeleteAsk(value0);\n };\n return BDeleteAsk;\n })();\n var BDestroy = (function () {\n function BDestroy() {\n\n };\n BDestroy.value = new BDestroy();\n return BDestroy;\n })();\n var _edit_bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit_bm;\n })(function (v) {\n return function (v1) {\n return {\n edit_bm: v1,\n bm: v.bm,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed\n };\n };\n })(dictStrong);\n };\n var _bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.bm;\n })(function (v) {\n return function (v1) {\n return {\n bm: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit_bm: v.edit_bm\n };\n };\n })(dictStrong);\n };\n var addbmark = function (b$prime) {\n var render = function (v) {\n var toTextarea = function ($58) {\n return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n })(Data_String_Common.split(\"\\x0a\")($58)));\n };\n var mmoment = Globals.mmoment8601(v.bm.time);\n var editField = function (f) {\n return function ($59) {\n return Data_Maybe.Just.create(BEditField.create(f($59)));\n };\n };\n var display_exists = Halogen_HTML_Elements.div([ Util.class_(\"alert\") ])([ Halogen_HTML_Core.text(\"previously saved\\xa0\"), Halogen_HTML_Elements.span([ Util.class_(\"link f7 dib gray pr3\"), Halogen_HTML_Properties.title(Data_Maybe.maybe(v.bm.time)(Data_Tuple.snd)(mmoment)) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment)) ]), Halogen_HTML_Elements.div([ Util.class_(\"edit_links dib ml1\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"delete_link di\") ])([ Halogen_HTML_Elements.button(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v1) {\n return new Data_Maybe.Just(new BDeleteAsk(true));\n }), Util.class_(\"delete\") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(v.deleteAsk)([ Util.attr(\"hidden\")(\"hidden\") ])))([ Halogen_HTML_Core.text(\"delete\") ]), Halogen_HTML_Elements.span(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Util.class_(\"confirm red\") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(!v.deleteAsk)([ Util.attr(\"hidden\")(\"hidden\") ])))([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v1) {\n return new Data_Maybe.Just(new BDeleteAsk(false));\n }) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v1) {\n return new Data_Maybe.Just(BDestroy.value);\n }), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]) ]);\n var display_edit = Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(function ($60) {\n return Data_Maybe.Just.create(BEditSubmit.create($60));\n }) ])([ Halogen_HTML_Elements.table([ Util.class_(\"w-100\") ])([ Halogen_HTML_Elements.tbody_([ Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td([ Util.class_(\"w1\") ])([ ]), Halogen_HTML_Elements.td_(Data_Monoid.guard(Data_Monoid.monoidArray)(v.bm.bid > 0)([ display_exists ])) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"url\") ])([ Halogen_HTML_Core.text(\"URL\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputUrl.value), Halogen_HTML_Properties.id_(\"url\"), Util.class_(\"w-100 mv1\"), Halogen_HTML_Properties.required(true), Halogen_HTML_Properties.name(\"url\"), Halogen_HTML_Properties.autofocus(Data_String_Common[\"null\"](v.bm.url)), Halogen_HTML_Properties.value(v.edit_bm.url), Halogen_HTML_Events.onValueChange(editField(Eurl.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"title\") ])([ Halogen_HTML_Core.text(\"title\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Halogen_HTML_Properties.id_(\"title\"), Util.class_(\"w-100 mv1\"), Halogen_HTML_Properties.name(\"title\"), Halogen_HTML_Properties.value(v.edit_bm.title), Halogen_HTML_Events.onValueChange(editField(Etitle.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"description\") ])([ Halogen_HTML_Core.text(\"description\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.textarea([ Util.class_(\"w-100 mt1 mid-gray\"), Halogen_HTML_Properties.id_(\"description\"), Halogen_HTML_Properties.name(\"description\"), Halogen_HTML_Properties.rows(4), Halogen_HTML_Properties.value(v.edit_bm.description), Halogen_HTML_Events.onValueChange(editField(Edescription.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"tags\") ])([ Halogen_HTML_Core.text(\"tags\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Halogen_HTML_Properties.id_(\"tags\"), Util.class_(\"w-100 mv1\"), Halogen_HTML_Properties.name(\"tags\"), Halogen_HTML_Properties.autocomplete(false), Util.attr(\"autocapitalize\")(\"off\"), Halogen_HTML_Properties.autofocus(!Data_String_Common[\"null\"](v.bm.url)), Halogen_HTML_Properties.value(v.edit_bm.tags), Halogen_HTML_Events.onValueChange(editField(Etags.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"private\") ])([ Halogen_HTML_Core.text(\"private\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Halogen_HTML_Properties.id_(\"private\"), Util.class_(\"private pointer\"), Halogen_HTML_Properties.name(\"private\"), Halogen_HTML_Properties.checked(v[\"edit_bm\"][\"private\"]), Halogen_HTML_Events.onChecked(editField(Eprivate.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"toread\") ])([ Halogen_HTML_Core.text(\"read later\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Halogen_HTML_Properties.id_(\"toread\"), Util.class_(\"toread pointer\"), Halogen_HTML_Properties.name(\"toread\"), Halogen_HTML_Properties.checked(v.edit_bm.toread), Halogen_HTML_Events.onChecked(editField(Etoread.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputSubmit.value), Util.class_(\"ph3 pv2 input-reset ba b--navy bg-transparent pointer f6 dib mt1 dim\"), Halogen_HTML_Properties.value((function () {\n var $30 = v.bm.bid > 0;\n if ($30) {\n return \"update bookmark\";\n };\n return \"add bookmark\";\n })()) ]) ]) ]) ]) ]) ]);\n var display_destroyed = Halogen_HTML_Elements.p([ Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"you killed this bookmark\") ]);\n return Halogen_HTML_Elements.div_([ (function () {\n var $31 = !v.destroyed;\n if ($31) {\n return display_edit;\n };\n return display_destroyed;\n })() ]);\n };\n var mkState = function (b) {\n return {\n bm: b,\n edit_bm: b,\n deleteAsk: false,\n destroyed: false\n };\n };\n var handleAction = function (v) {\n if (v instanceof BDeleteAsk) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $35 = {};\n for (var $36 in v1) {\n if ({}.hasOwnProperty.call(v1, $36)) {\n $35[$36] = v1[$36];\n };\n };\n $35.deleteAsk = v.value0;\n return $35;\n });\n };\n if (v instanceof BDestroy) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.bm.bid;\n }))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.destroy(v1))))(function () {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v2) {\n var $40 = {};\n for (var $41 in v2) {\n if ({}.hasOwnProperty.call(v2, $41)) {\n $40[$41] = v2[$41];\n };\n };\n $40.destroyed = true;\n return $40;\n });\n });\n });\n };\n if (v instanceof BEditField) {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof Eurl) {\n return function (v1) {\n return {\n url: v.value0.value0,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etitle) {\n return function (v1) {\n return {\n url: v1.url,\n title: v.value0.value0,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Edescription) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v.value0.value0,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etags) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v.value0.value0,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Eprivate) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v.value0.value0,\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etoread) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v.value0.value0,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.Add (line 156, column 17 - line 162, column 36): \" + [ v.value0.constructor.name ]);\n })());\n };\n if (v instanceof BEditSubmit) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_Event_Event.preventDefault(v.value0)))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editBookmark(v1))))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(v1))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Util[\"_loc\"]))(function (v2) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_HTML.window))(function (v3) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Util[\"_curQuerystring\"]))(function (v4) {\n var v5 = Util[\"_lookupQueryStringValue\"](v4)(\"next\");\n if (v5 instanceof Data_Maybe.Just) {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_HTML_Location.setHref(v5.value0)(v2));\n };\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Globals.closeWindow(v3));\n });\n });\n });\n });\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.Add (line 148, column 3 - line 148, column 69): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(b$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"BEditField\"] = BEditField;\n exports[\"BEditSubmit\"] = BEditSubmit;\n exports[\"BDeleteAsk\"] = BDeleteAsk;\n exports[\"BDestroy\"] = BDestroy;\n exports[\"Eurl\"] = Eurl;\n exports[\"Etitle\"] = Etitle;\n exports[\"Edescription\"] = Edescription;\n exports[\"Etags\"] = Etags;\n exports[\"Eprivate\"] = Eprivate;\n exports[\"Etoread\"] = Etoread;\n exports[\"_bm\"] = _bm;\n exports[\"_edit_bm\"] = _edit_bm;\n exports[\"addbmark\"] = addbmark;\n})(PS[\"Component.Add\"] = PS[\"Component.Add\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var App = PS[\"App\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed_ButtonType = PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Const = PS[\"Data.Const\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Lens = PS[\"Data.Lens\"];\n var Data_Lens_Getter = PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = PS[\"Data.Lens.Setter\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_CodePoints = PS[\"Data.String.CodePoints\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Globals = PS[\"Globals\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Util = PS[\"Util\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"]; \n var Eurl = (function () {\n function Eurl(value0) {\n this.value0 = value0;\n };\n Eurl.create = function (value0) {\n return new Eurl(value0);\n };\n return Eurl;\n })();\n var Etitle = (function () {\n function Etitle(value0) {\n this.value0 = value0;\n };\n Etitle.create = function (value0) {\n return new Etitle(value0);\n };\n return Etitle;\n })();\n var Edescription = (function () {\n function Edescription(value0) {\n this.value0 = value0;\n };\n Edescription.create = function (value0) {\n return new Edescription(value0);\n };\n return Edescription;\n })();\n var Etags = (function () {\n function Etags(value0) {\n this.value0 = value0;\n };\n Etags.create = function (value0) {\n return new Etags(value0);\n };\n return Etags;\n })();\n var Eprivate = (function () {\n function Eprivate(value0) {\n this.value0 = value0;\n };\n Eprivate.create = function (value0) {\n return new Eprivate(value0);\n };\n return Eprivate;\n })();\n var Etoread = (function () {\n function Etoread(value0) {\n this.value0 = value0;\n };\n Etoread.create = function (value0) {\n return new Etoread(value0);\n };\n return Etoread;\n })();\n var BNotifyRemove = (function () {\n function BNotifyRemove() {\n\n };\n BNotifyRemove.value = new BNotifyRemove();\n return BNotifyRemove;\n })();\n var BStar = (function () {\n function BStar(value0) {\n this.value0 = value0;\n };\n BStar.create = function (value0) {\n return new BStar(value0);\n };\n return BStar;\n })();\n var BDeleteAsk = (function () {\n function BDeleteAsk(value0) {\n this.value0 = value0;\n };\n BDeleteAsk.create = function (value0) {\n return new BDeleteAsk(value0);\n };\n return BDeleteAsk;\n })();\n var BDestroy = (function () {\n function BDestroy() {\n\n };\n BDestroy.value = new BDestroy();\n return BDestroy;\n })();\n var BEdit = (function () {\n function BEdit(value0) {\n this.value0 = value0;\n };\n BEdit.create = function (value0) {\n return new BEdit(value0);\n };\n return BEdit;\n })();\n var BEditField = (function () {\n function BEditField(value0) {\n this.value0 = value0;\n };\n BEditField.create = function (value0) {\n return new BEditField(value0);\n };\n return BEditField;\n })();\n var BEditSubmit = (function () {\n function BEditSubmit(value0) {\n this.value0 = value0;\n };\n BEditSubmit.create = function (value0) {\n return new BEditSubmit(value0);\n };\n return BEditSubmit;\n })();\n var BMarkRead = (function () {\n function BMarkRead() {\n\n };\n BMarkRead.value = new BMarkRead();\n return BMarkRead;\n })();\n var _edit_bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit_bm;\n })(function (v) {\n return function (v1) {\n return {\n edit_bm: v1,\n bm: v.bm,\n deleteAsk: v.deleteAsk,\n edit: v.edit\n };\n };\n })(dictStrong);\n };\n var _edit = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit;\n })(function (v) {\n return function (v1) {\n return {\n edit: v1,\n bm: v.bm,\n deleteAsk: v.deleteAsk,\n edit_bm: v.edit_bm\n };\n };\n })(dictStrong);\n };\n var _bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.bm;\n })(function (v) {\n return function (v1) {\n return {\n bm: v1,\n deleteAsk: v.deleteAsk,\n edit: v.edit,\n edit_bm: v.edit_bm\n };\n };\n })(dictStrong);\n };\n var bmark = function (b$prime) {\n var mkState = function (b) {\n return {\n bm: b,\n edit_bm: b,\n deleteAsk: false,\n edit: false\n };\n };\n var handleAction = function (v) {\n if (v instanceof BStar) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.toggleStar(v1.bid)((function () {\n if (v.value0) {\n return App.Star.value;\n };\n return App.UnStar.value;\n })())))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(function (v2) {\n return {\n url: v2.url,\n title: v2.title,\n description: v2.description,\n tags: v2.tags,\n \"private\": v2[\"private\"],\n toread: v2.toread,\n bid: v2.bid,\n slug: v2.slug,\n selected: v.value0,\n time: v2.time,\n archiveUrl: v2.archiveUrl\n };\n }))(function () {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))(function (v2) {\n return {\n url: v2.url,\n title: v2.title,\n description: v2.description,\n tags: v2.tags,\n \"private\": v2[\"private\"],\n toread: v2.toread,\n bid: v2.bid,\n slug: v2.slug,\n selected: v.value0,\n time: v2.time,\n archiveUrl: v2.archiveUrl\n };\n });\n });\n });\n });\n };\n if (v instanceof BDeleteAsk) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $41 = {};\n for (var $42 in v1) {\n if ({}.hasOwnProperty.call(v1, $42)) {\n $41[$42] = v1[$42];\n };\n };\n $41.deleteAsk = v.value0;\n return $41;\n });\n };\n if (v instanceof BDestroy) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.destroy(v1.bid))))(function () {\n return Halogen_Query_HalogenM.raise(BNotifyRemove.value);\n });\n });\n };\n if (v instanceof BMarkRead) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.markRead(v1.bid))))(function () {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(function (v2) {\n return {\n url: v2.url,\n title: v2.title,\n description: v2.description,\n tags: v2.tags,\n \"private\": v2[\"private\"],\n toread: false,\n bid: v2.bid,\n slug: v2.slug,\n selected: v2.selected,\n time: v2.time,\n archiveUrl: v2.archiveUrl\n };\n });\n });\n });\n };\n if (v instanceof BEdit) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))(v1))(function () {\n return Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(v.value0);\n });\n });\n };\n if (v instanceof BEditField) {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof Eurl) {\n return function (v1) {\n return {\n url: v.value0.value0,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etitle) {\n return function (v1) {\n return {\n url: v1.url,\n title: v.value0.value0,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Edescription) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v.value0.value0,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etags) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v.value0.value0,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Eprivate) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v.value0.value0,\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etoread) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v.value0.value0,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.BMark (line 227, column 17 - line 233, column 36): \" + [ v.value0.constructor.name ]);\n })());\n };\n if (v instanceof BEditSubmit) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_Event_Event.preventDefault(v.value0)))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editBookmark(v1))))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(v1))(function () {\n return Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(false);\n });\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.BMark (line 194, column 3 - line 194, column 76): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n var render = function (v) {\n var toTextarea = function (input) {\n return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n })(Data_String_Common.split(\"\\x0a\")(input)));\n };\n var star = Data_Monoid.guard(Data_Monoid.monoidArray)(app.dat.isowner)([ Halogen_HTML_Elements.div([ Util.class_(\"star fl pointer\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.bm.selected)(\" selected\")) ])([ Halogen_HTML_Elements.button([ Util.class_(\"moon-gray\"), Halogen_HTML_Events.onClick(function (v1) {\n return new Data_Maybe.Just(new BStar(!v.bm.selected));\n }) ])([ Halogen_HTML_Core.text(\"\\u272d\") ]) ]) ]);\n var mmoment = Globals.mmoment8601(v.bm.time);\n var links = Data_Monoid.guard(Data_Monoid.monoidArray)(app.dat.isowner)([ Halogen_HTML_Elements.div([ Util.class_(\"edit_links di\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v1) {\n return new Data_Maybe.Just(new BEdit(true));\n }), Util.class_(\"edit light-silver hover-blue\") ])([ Halogen_HTML_Core.text(\"edit\\xa0\\xa0\") ]), Halogen_HTML_Elements.div([ Util.class_(\"delete_link di\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v1) {\n return new Data_Maybe.Just(new BDeleteAsk(true));\n }), Util.class_(\"delete light-silver hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Core.text(\"delete\") ]), Halogen_HTML_Elements.span([ Util.class_(\"confirm red\" + Data_Monoid.guard(Data_Monoid.monoidString)(!v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v1) {\n return new Data_Maybe.Just(new BDeleteAsk(false));\n }) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v1) {\n return new Data_Maybe.Just(BDestroy.value);\n }), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]), Halogen_HTML_Elements.div([ Util.class_(\"read di\") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(v.bm.toread)([ Halogen_HTML_Core.text(\"\\xa0\\xa0\"), Halogen_HTML_Elements.button([ Halogen_HTML_Events.onClick(function (v1) {\n return new Data_Maybe.Just(BMarkRead.value);\n }), Util.class_(\"mark_read\") ])([ Halogen_HTML_Core.text(\"mark as read\") ]) ])) ]);\n var linkToFilterTag = function (tag) {\n return Util.fromNullableStr(app.userR) + (\"/t:\" + tag);\n };\n var linkToFilterSingle = function (slug) {\n return Util.fromNullableStr(app.userR) + (\"/b:\" + slug);\n };\n var editField = function (f) {\n return function ($65) {\n return Data_Maybe.Just.create(BEditField.create(f($65)));\n };\n };\n var display_edit = [ Halogen_HTML_Elements.div([ Util.class_(\"edit_bookmark_form pa2 pt0 bg-white\") ])([ Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(function ($66) {\n return Data_Maybe.Just.create(BEditSubmit.create($66));\n }) ])([ Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"url\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputUrl.value), Util.class_(\"url w-100 mb2 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.required(true), Halogen_HTML_Properties.name(\"url\"), Halogen_HTML_Properties.value(v.edit_bm.url), Halogen_HTML_Events.onValueChange(editField(Eurl.create)) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"title\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Util.class_(\"title w-100 mb2 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.name(\"title\"), Halogen_HTML_Properties.value(v.edit_bm.title), Halogen_HTML_Events.onValueChange(editField(Etitle.create)) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"description\") ]), Halogen_HTML_Elements.textarea([ Util.class_(\"description w-100 mb1 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.name(\"description\"), Halogen_HTML_Properties.rows(5), Halogen_HTML_Properties.value(v.edit_bm.description), Halogen_HTML_Events.onValueChange(editField(Edescription.create)) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(\"tags_input_box\") ])([ Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"tags\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Util.class_(\"tags w-100 mb1 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.name(\"tags\"), Halogen_HTML_Properties.autocomplete(false), Util.attr(\"autocapitalize\")(\"off\"), Halogen_HTML_Properties.value(v.edit_bm.tags), Halogen_HTML_Events.onValueChange(editField(Etags.create)) ]), Halogen_HTML_Elements.br_ ]), Halogen_HTML_Elements.div([ Util.class_(\"edit_form_checkboxes mv3\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"private pointer\"), Halogen_HTML_Properties.id_(\"edit_private\"), Halogen_HTML_Properties.name(\"private\"), Halogen_HTML_Properties.checked(v[\"edit_bm\"][\"private\"]), Halogen_HTML_Events.onChecked(editField(Eprivate.create)) ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"edit_private\"), Util.class_(\"mr2\") ])([ Halogen_HTML_Core.text(\"private\") ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"toread pointer\"), Halogen_HTML_Properties.id_(\"edit_toread\"), Halogen_HTML_Properties.name(\"toread\"), Halogen_HTML_Properties.checked(v.edit_bm.toread), Halogen_HTML_Events.onChecked(editField(Etoread.create)) ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"edit_toread\") ])([ Halogen_HTML_Core.text(\"to-read\") ]), Halogen_HTML_Elements.br_ ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputSubmit.value), Util.class_(\"mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(\"save\") ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputReset.value), Util.class_(\"pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(\"cancel\"), Halogen_HTML_Events.onClick(function (v1) {\n return new Data_Maybe.Just(new BEdit(false));\n }) ]) ]) ]) ];\n var display = [ Halogen_HTML_Elements.div([ Util.class_(\"display\") ])(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(v.bm.url), Halogen_HTML_Properties.target(\"_blank\"), Util.class_(\"link f5 lh-title\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.bm.toread)(\" unread\")) ])([ Halogen_HTML_Core.text((function () {\n var $60 = Data_String_Common[\"null\"](v.bm.title);\n if ($60) {\n return \"[no title]\";\n };\n return v.bm.title;\n })()) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(v.bm.url), Util.class_(\"link f7 gray hover-blue\") ])([ Halogen_HTML_Core.text(v.bm.url) ]), Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(Data_Maybe.fromMaybe(\"http://archive.is/\" + v.bm.url)(Data_Nullable.toMaybe(v.bm.archiveUrl))), Util.class_(\"link f7 gray hover-blue ml2\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Maybe.isJust(Data_Nullable.toMaybe(v.bm.archiveUrl)))(\" green\")), Halogen_HTML_Properties.target(\"_blank\"), Halogen_HTML_Properties.title(\"archive link\") ])([ (function () {\n var $61 = Data_Maybe.isJust(Data_Nullable.toMaybe(v.bm.archiveUrl));\n if ($61) {\n return Halogen_HTML_Core.text(\"\\u2611\");\n };\n return Halogen_HTML_Core.text(\"\\u2610\");\n })() ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div([ Util.class_(\"description mt1 mid-gray\") ])(toTextarea(v.bm.description)), Halogen_HTML_Elements.div([ Util.class_(\"tags\") ])(Data_Monoid.guard(Data_Monoid.monoidFn(Data_Monoid.monoidFn(Data_Monoid.monoidArray)))(!Data_String_Common[\"null\"](v.bm.tags))(Data_Functor.map(Data_Functor.functorArray))(function (tag) {\n return Halogen_HTML_Elements.a([ Util.class_(\"link tag mr1\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_String_CodePoints.take(1)(tag) === \".\")(\" private\")), Halogen_HTML_Properties.href(linkToFilterTag(tag)) ])([ Halogen_HTML_Core.text(tag) ]);\n })(Data_String_Common.split(\" \")(v.bm.tags))), Halogen_HTML_Elements.a([ Util.class_(\"link f7 dib gray w4\"), Halogen_HTML_Properties.title(Data_Maybe.maybe(v.bm.time)(Data_Tuple.snd)(mmoment)), Halogen_HTML_Properties.href(linkToFilterSingle(v.bm.slug)) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment)) ]) ])(links)) ];\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(Data_Show.show(Data_Show.showInt)(v.bm.bid)), Util.class_(\"bookmark w-100 mw7 pa1 mb3\" + Data_Monoid.guard(Data_Monoid.monoidString)(v[\"bm\"][\"private\"])(\" private\")) ])(Data_Semigroup.append(Data_Semigroup.semigroupArray)(star)((function () {\n if (v.edit) {\n return display_edit;\n };\n return display;\n })()));\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(b$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"BStar\"] = BStar;\n exports[\"BDeleteAsk\"] = BDeleteAsk;\n exports[\"BDestroy\"] = BDestroy;\n exports[\"BEdit\"] = BEdit;\n exports[\"BEditField\"] = BEditField;\n exports[\"BEditSubmit\"] = BEditSubmit;\n exports[\"BMarkRead\"] = BMarkRead;\n exports[\"Eurl\"] = Eurl;\n exports[\"Etitle\"] = Etitle;\n exports[\"Edescription\"] = Edescription;\n exports[\"Etags\"] = Etags;\n exports[\"Eprivate\"] = Eprivate;\n exports[\"Etoread\"] = Etoread;\n exports[\"BNotifyRemove\"] = BNotifyRemove;\n exports[\"_bm\"] = _bm;\n exports[\"_edit_bm\"] = _edit_bm;\n exports[\"_edit\"] = _edit;\n exports[\"bmark\"] = bmark;\n})(PS[\"Component.BMark\"] = PS[\"Component.BMark\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Component_BMark = PS[\"Component.BMark\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"]; \n var HandleBMessage = (function () {\n function HandleBMessage(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n HandleBMessage.create = function (value0) {\n return function (value1) {\n return new HandleBMessage(value0, value1);\n };\n };\n return HandleBMessage;\n })();\n var _bookmark = Data_Symbol.SProxy.value;\n var blist = function (st) {\n var render = function (bms) {\n return Halogen_HTML_Elements.div_(Data_Functor.map(Data_Functor.functorArray)(function (b) {\n return Halogen_HTML.slot()(new Data_Symbol.IsSymbol(function () {\n return \"bookmark\";\n }))(Data_Ord.ordInt)(_bookmark)(b.bid)(Component_BMark.bmark(b))(Data_Unit.unit)(function ($5) {\n return Data_Maybe.Just.create(HandleBMessage.create(b.bid)($5));\n });\n })(bms));\n };\n var handleAction = function (v) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(Data_Array.filter(function (b) {\n return b.bid !== v.value0;\n }));\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](st),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"HandleBMessage\"] = HandleBMessage;\n exports[\"_bookmark\"] = _bookmark;\n exports[\"blist\"] = blist;\n})(PS[\"Component.BList\"] = PS[\"Component.BList\"] || {});\n(function(exports) {// use at your own risk!\n exports.unsafeSetInnerHTML = function(element) {\n return function(html) {\n return function() {\n element.innerHTML = html;\n };\n };\n };\n})(PS[\"Component.RawHtml\"] = PS[\"Component.RawHtml\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Halogen_Query_HalogenQ = PS[\"Halogen.Query.HalogenQ\"];\n var Halogen_Query_Input = PS[\"Halogen.Query.Input\"];\n var Prelude = PS[\"Prelude\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"];\n var getHTMLElementRef = function ($1) {\n return Data_Functor.map(Halogen_Query_HalogenM.functorHalogenM)(function (v) {\n return Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Web_HTML_HTMLElement.fromElement)(v);\n })(Halogen_Query_HalogenM.getRef($1));\n };\n exports[\"getHTMLElementRef\"] = getHTMLElementRef;\n})(PS[\"Halogen.Query\"] = PS[\"Halogen.Query\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Component.RawHtml\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Globals = PS[\"Globals\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query = PS[\"Halogen.Query\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Halogen_Query_Input = PS[\"Halogen.Query.Input\"];\n var Prelude = PS[\"Prelude\"];\n var Web_HTML = PS[\"Web.HTML\"]; \n var SetInnerHTML = (function () {\n function SetInnerHTML() {\n\n };\n SetInnerHTML.value = new SetInnerHTML();\n return SetInnerHTML;\n })();\n var Receive = (function () {\n function Receive(value0) {\n this.value0 = value0;\n };\n Receive.create = function (value0) {\n return new Receive(value0);\n };\n return Receive;\n })();\n var mkComponent = function (toRawHTML) {\n var render = function (state) {\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.ref(state.elRef) ])([ ]);\n };\n var handleAction = function (v) {\n if (v instanceof SetInnerHTML) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v1) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Halogen_Query.getHTMLElementRef(v1.elRef))(function (v2) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Foldable.for_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(v2)(function (el) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v3) {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))($foreign.unsafeSetInnerHTML(el)(toRawHTML(v3.inputval)));\n });\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n });\n });\n });\n };\n if (v instanceof Receive) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $12 = {};\n for (var $13 in v1) {\n if ({}.hasOwnProperty.call(v1, $13)) {\n $12[$13] = v1[$13];\n };\n };\n $12.inputval = v.value0;\n return $12;\n }))(function () {\n return handleAction(SetInnerHTML.value);\n });\n };\n throw new Error(\"Failed pattern match at Component.RawHtml (line 49, column 18 - line 60, column 22): \" + [ v.constructor.name ]);\n };\n return Halogen_Component.mkComponent({\n initialState: function (inputval) {\n return {\n elRef: \"inputval\",\n inputval: inputval\n };\n },\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: function ($16) {\n return Data_Maybe.Just.create(Receive.create($16));\n },\n initialize: new Data_Maybe.Just(SetInnerHTML.value),\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"SetInnerHTML\"] = SetInnerHTML;\n exports[\"Receive\"] = Receive;\n exports[\"mkComponent\"] = mkComponent;\n})(PS[\"Component.RawHtml\"] = PS[\"Component.RawHtml\"] || {});\n(function(exports) {\n var marked =require(\"marked\"); \n\n marked.setOptions({\n pedantic: false,\n gfm: true\n });\n\n exports.markedImpl = function(str) {\n return marked(str);\n };\n})(PS[\"Foreign.Marked\"] = PS[\"Foreign.Marked\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Foreign.Marked\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Globals = PS[\"Globals\"];\n var Prelude = PS[\"Prelude\"]; \n var marked = function ($0) {\n return Globals.RawHTML($foreign.markedImpl($0));\n };\n exports[\"marked\"] = marked;\n})(PS[\"Foreign.Marked\"] = PS[\"Foreign.Marked\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Component_RawHtml = PS[\"Component.RawHtml\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Foreign_Marked = PS[\"Foreign.Marked\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"]; \n var component = Component_RawHtml.mkComponent(Foreign_Marked.marked);\n exports[\"component\"] = component;\n})(PS[\"Component.Markdown\"] = PS[\"Component.Markdown\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_CodePoints = PS[\"Data.String.CodePoints\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Globals = PS[\"Globals\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Util = PS[\"Util\"];\n var nlist = function (st$prime) {\n var toTextarea = function (input) {\n return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n })(Data_String_Common.split(\"\\x0a\")(input)));\n };\n var mmoment = function (bm) {\n return Globals.mmoment8601(bm.created);\n };\n var mkState = function (notes$prime) {\n return {\n notes: notes$prime,\n cur: Data_Maybe.Nothing.value,\n deleteAsk: false,\n edit: false\n };\n };\n var handleAction = function (v) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n var linkToFilterSingle = function (slug) {\n return Util.fromNullableStr(app.userR) + (\"/notes/\" + slug);\n };\n var render = function (v) {\n var renderNote = function (bm) {\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(Data_Show.show(Data_Show.showInt)(bm.id)), Util.class_(\"note w-100 mw7 pa1 mb2\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"display\") ])([ Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(linkToFilterSingle(bm.slug)), Util.class_(\"link f5 lh-title\") ])([ Halogen_HTML_Core.text((function () {\n var $5 = Data_String_Common[\"null\"](bm.title);\n if ($5) {\n return \"[no title]\";\n };\n return bm.title;\n })()) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div([ Util.class_(\"description mt1 mid-gray\") ])(toTextarea(Data_String_CodePoints.take(200)(bm.text))), Halogen_HTML_Elements.a([ Util.class_(\"link f7 dib gray w4\"), Halogen_HTML_Properties.title(Data_Maybe.maybe(bm.created)(Data_Tuple.snd)(mmoment(bm))), Halogen_HTML_Properties.href(linkToFilterSingle(bm.slug)) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment(bm))) ]) ]) ]);\n };\n return Halogen_HTML_Elements.div_(Data_Functor.map(Data_Functor.functorArray)(renderNote)(v.notes));\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(st$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"nlist\"] = nlist;\n})(PS[\"Component.NList\"] = PS[\"Component.NList\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var App = PS[\"App\"];\n var Component_Markdown = PS[\"Component.Markdown\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed_ButtonType = PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Const = PS[\"Data.Const\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Lens = PS[\"Data.Lens\"];\n var Data_Lens_Getter = PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = PS[\"Data.Lens.Setter\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Data_Void = PS[\"Data.Void\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Globals = PS[\"Globals\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Util = PS[\"Util\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_HTML_Location = PS[\"Web.HTML.Location\"]; \n var Etitle = (function () {\n function Etitle(value0) {\n this.value0 = value0;\n };\n Etitle.create = function (value0) {\n return new Etitle(value0);\n };\n return Etitle;\n })();\n var Etext = (function () {\n function Etext(value0) {\n this.value0 = value0;\n };\n Etext.create = function (value0) {\n return new Etext(value0);\n };\n return Etext;\n })();\n var EisMarkdown = (function () {\n function EisMarkdown(value0) {\n this.value0 = value0;\n };\n EisMarkdown.create = function (value0) {\n return new EisMarkdown(value0);\n };\n return EisMarkdown;\n })();\n var NNop = (function () {\n function NNop() {\n\n };\n NNop.value = new NNop();\n return NNop;\n })();\n var NEditField = (function () {\n function NEditField(value0) {\n this.value0 = value0;\n };\n NEditField.create = function (value0) {\n return new NEditField(value0);\n };\n return NEditField;\n })();\n var NEditSubmit = (function () {\n function NEditSubmit(value0) {\n this.value0 = value0;\n };\n NEditSubmit.create = function (value0) {\n return new NEditSubmit(value0);\n };\n return NEditSubmit;\n })();\n var NEdit = (function () {\n function NEdit(value0) {\n this.value0 = value0;\n };\n NEdit.create = function (value0) {\n return new NEdit(value0);\n };\n return NEdit;\n })();\n var NDeleteAsk = (function () {\n function NDeleteAsk(value0) {\n this.value0 = value0;\n };\n NDeleteAsk.create = function (value0) {\n return new NDeleteAsk(value0);\n };\n return NDeleteAsk;\n })();\n var NDestroy = (function () {\n function NDestroy() {\n\n };\n NDestroy.value = new NDestroy();\n return NDestroy;\n })();\n var _note = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.note;\n })(function (v) {\n return function (v1) {\n return {\n note: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit: v.edit,\n edit_note: v.edit_note\n };\n };\n })(dictStrong);\n };\n var _markdown = Data_Symbol.SProxy.value;\n var _edit_note = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit_note;\n })(function (v) {\n return function (v1) {\n return {\n edit_note: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit: v.edit,\n note: v.note\n };\n };\n })(dictStrong);\n };\n var _edit = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit;\n })(function (v) {\n return function (v1) {\n return {\n edit: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit_note: v.edit_note,\n note: v.note\n };\n };\n })(dictStrong);\n };\n var nnote = function (st$prime) {\n var render = function (v) {\n var toTextarea = function (input) {\n return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n })(Data_String_Common.split(\"\\x0a\")(input)));\n };\n var mmoment = function (n) {\n return Globals.mmoment8601(n.created);\n };\n var renderNote = Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(Data_Show.show(Data_Show.showInt)(v.note.id)), Util.class_(\"note w-100 mw7 pa1 mb2\") ])(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Halogen_HTML_Elements.div([ Util.class_(\"display\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"link f5 lh-title\") ])([ Halogen_HTML_Core.text((function () {\n var $30 = Data_String_Common[\"null\"](v.note.title);\n if ($30) {\n return \"[no title]\";\n };\n return v.note.title;\n })()) ]), Halogen_HTML_Elements.br_, (function () {\n if (v.note.isMarkdown) {\n return Halogen_HTML_Elements.div([ Util.class_(\"description mt1\") ])([ Halogen_HTML.slot()(new Data_Symbol.IsSymbol(function () {\n return \"markdown\";\n }))(Data_Ord.ordUnit)(_markdown)(Data_Unit.unit)(Component_Markdown.component)(v.note.text)(Data_Void.absurd) ]);\n };\n return Halogen_HTML_Elements.div([ Util.class_(\"description mt1 mid-gray\") ])(toTextarea(v.note.text));\n })(), Halogen_HTML_Elements.div([ Util.class_(\"link f7 dib gray w4\"), Halogen_HTML_Properties.title(Data_Maybe.maybe(v.note.created)(Data_Tuple.snd)(mmoment(v.note))) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment(v.note))) ]) ]) ])([ Halogen_HTML_Elements.div([ Util.class_(\"edit_links db mt3\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v1) {\n return new Data_Maybe.Just(new NEdit(true));\n }), Util.class_(\"edit light-silver hover-blue\") ])([ Halogen_HTML_Core.text(\"edit\\xa0\\xa0\") ]), Halogen_HTML_Elements.div([ Util.class_(\"delete_link di\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v1) {\n return new Data_Maybe.Just(new NDeleteAsk(true));\n }), Util.class_(\"delete light-silver hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Core.text(\"delete\") ]), Halogen_HTML_Elements.span([ Util.class_(\"confirm red\" + Data_Monoid.guard(Data_Monoid.monoidString)(!v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v1) {\n return new Data_Maybe.Just(new NDeleteAsk(false));\n }) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v1) {\n return new Data_Maybe.Just(NDestroy.value);\n }), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]) ]));\n var editField = function (f) {\n return function ($59) {\n return Data_Maybe.Just.create(NEditField.create(f($59)));\n };\n };\n var renderNote_edit = Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(function ($60) {\n return Data_Maybe.Just.create(NEditSubmit.create($60));\n }) ])([ Halogen_HTML_Elements.p([ Util.class_(\"mt2 mb1\") ])([ Halogen_HTML_Core.text(\"title:\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Util.class_(\"title w-100 mb1 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.name(\"title\"), Halogen_HTML_Properties.value(v.edit_note.title), Halogen_HTML_Events.onValueChange(editField(Etitle.create)) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.p([ Util.class_(\"mt2 mb1\") ])([ Halogen_HTML_Core.text(\"description:\") ]), Halogen_HTML_Elements.textarea([ Util.class_(\"description w-100 mb1 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.name(\"text\"), Halogen_HTML_Properties.rows(30), Halogen_HTML_Properties.value(v.edit_note.text), Halogen_HTML_Events.onValueChange(editField(Etext.create)) ]), Halogen_HTML_Elements.div([ Util.class_(\"edit_form_checkboxes mb3\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"is-markdown pointer\"), Halogen_HTML_Properties.id_(\"edit_ismarkdown\"), Halogen_HTML_Properties.name(\"ismarkdown\"), Halogen_HTML_Properties.checked(v.edit_note.isMarkdown), Halogen_HTML_Events.onChecked(editField(EisMarkdown.create)) ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"edit_ismarkdown\"), Util.class_(\"mr2\") ])([ Halogen_HTML_Core.text(\"use markdown?\") ]), Halogen_HTML_Elements.br_ ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputSubmit.value), Util.class_(\"mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(\"save\") ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputReset.value), Util.class_(\"pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(\"cancel\"), Halogen_HTML_Events.onClick(function (v1) {\n return new Data_Maybe.Just(new NEdit(false));\n }) ]) ]);\n var display_destroyed = Halogen_HTML_Elements.p([ Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"you killed this note\") ]);\n if (v.destroyed) {\n return display_destroyed;\n };\n if (v.edit) {\n return renderNote_edit;\n };\n return renderNote;\n };\n var mkState = function (note$prime) {\n return {\n note: note$prime,\n edit_note: note$prime,\n deleteAsk: false,\n edit: note$prime.id <= 0,\n destroyed: false\n };\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n var handleAction = function (v) {\n if (v instanceof NNop) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n if (v instanceof NEditField) {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_note(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof Etitle) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v.value0.value0,\n text: v1.text,\n length: v1.length,\n isMarkdown: v1.isMarkdown,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n if (v.value0 instanceof Etext) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v1.title,\n text: v.value0.value0,\n length: v1.length,\n isMarkdown: v1.isMarkdown,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n if (v.value0 instanceof EisMarkdown) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v1.title,\n text: v1.text,\n length: v1.length,\n isMarkdown: v.value0.value0,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.NNote (line 162, column 19 - line 165, column 44): \" + [ v.value0.constructor.name ]);\n })());\n };\n if (v instanceof NDeleteAsk) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $42 = {};\n for (var $43 in v1) {\n if ({}.hasOwnProperty.call(v1, $43)) {\n $42[$43] = v1[$43];\n };\n };\n $42.deleteAsk = v.value0;\n return $42;\n });\n };\n if (v instanceof NDestroy) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_note(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.destroyNote(v1.id))))(function () {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v2) {\n var $47 = {};\n for (var $48 in v2) {\n if ({}.hasOwnProperty.call(v2, $48)) {\n $47[$48] = v2[$48];\n };\n };\n $47.destroyed = true;\n return $47;\n });\n });\n });\n };\n if (v instanceof NEdit) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_note(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_note(Data_Profunctor_Strong.strongFn))(v1))(function () {\n return Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(v.value0);\n });\n });\n };\n if (v instanceof NEditSubmit) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_Event_Event.preventDefault(v.value0)))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_note(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editNote(v1)))(function (v2) {\n if (v2.body instanceof Data_Either.Left) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n if (v2.body instanceof Data_Either.Right) {\n var $56 = v1.id === 0;\n if ($56) {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Location.setHref(Util.fromNullableStr(app.noteR)))(Util[\"_loc\"]));\n };\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_note(Data_Profunctor_Strong.strongFn))(v1))(function () {\n return Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(false);\n });\n };\n throw new Error(\"Failed pattern match at Component.NNote (line 188, column 5 - line 196, column 22): \" + [ v2.body.constructor.name ]);\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.NNote (line 157, column 3 - line 157, column 77): \" + [ v.constructor.name ]);\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(st$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"NNop\"] = NNop;\n exports[\"NEditField\"] = NEditField;\n exports[\"NEditSubmit\"] = NEditSubmit;\n exports[\"NEdit\"] = NEdit;\n exports[\"NDeleteAsk\"] = NDeleteAsk;\n exports[\"NDestroy\"] = NDestroy;\n exports[\"_note\"] = _note;\n exports[\"_edit_note\"] = _edit_note;\n exports[\"_edit\"] = _edit;\n exports[\"Etitle\"] = Etitle;\n exports[\"Etext\"] = Etext;\n exports[\"EisMarkdown\"] = EisMarkdown;\n exports[\"_markdown\"] = _markdown;\n exports[\"nnote\"] = nnote;\n})(PS[\"Component.NNote\"] = PS[\"Component.NNote\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Reader_Trans = PS[\"Control.Monad.Reader.Trans\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Prelude = PS[\"Prelude\"];\n var MonadFork = function (Functor1, Monad0, fork, join, suspend) {\n this.Functor1 = Functor1;\n this.Monad0 = Monad0;\n this.fork = fork;\n this.join = join;\n this.suspend = suspend;\n };\n var suspend = function (dict) {\n return dict.suspend;\n };\n var monadForkAff = new MonadFork(function () {\n return Effect_Aff.functorFiber;\n }, function () {\n return Effect_Aff.monadAff;\n }, Effect_Aff.forkAff, Effect_Aff.joinFiber, Effect_Aff.suspendAff);\n var join = function (dict) {\n return dict.join;\n };\n var fork = function (dict) {\n return dict.fork;\n };\n exports[\"fork\"] = fork;\n exports[\"join\"] = join;\n exports[\"suspend\"] = suspend;\n exports[\"MonadFork\"] = MonadFork;\n exports[\"monadForkAff\"] = monadForkAff;\n})(PS[\"Control.Monad.Fork.Class\"] = PS[\"Control.Monad.Fork.Class\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.warn = function (s) {\n return function () {\n console.warn(s);\n return {};\n };\n };\n})(PS[\"Effect.Console\"] = PS[\"Effect.Console\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.Console\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n exports[\"warn\"] = $foreign.warn;\n})(PS[\"Effect.Console\"] = PS[\"Effect.Console\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Map = PS[\"Data.Map\"];\n var Data_Map_Internal = PS[\"Data.Map.Internal\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_Data_Slot = PS[\"Halogen.Data.Slot\"];\n var Halogen_Query_EventSource = PS[\"Halogen.Query.EventSource\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM = PS[\"Web.DOM\"];\n var unRenderStateX = Unsafe_Coerce.unsafeCoerce;\n var unDriverStateX = Unsafe_Coerce.unsafeCoerce;\n var renderStateX_ = function (dictApplicative) {\n return function (f) {\n return unDriverStateX(function (st) {\n return Data_Foldable.traverse_(dictApplicative)(Data_Foldable.foldableMaybe)(f)(st.rendering);\n });\n };\n };\n var mkRenderStateX = Unsafe_Coerce.unsafeCoerce;\n var renderStateX = function (dictFunctor) {\n return function (f) {\n return unDriverStateX(function (st) {\n return mkRenderStateX(f(st.rendering));\n });\n };\n };\n var mkDriverStateXRef = Unsafe_Coerce.unsafeCoerce;\n var mapDriverState = function (f) {\n return function (v) {\n return f(v);\n };\n };\n var initDriverState = function (component) {\n return function (input) {\n return function (handler) {\n return function (lchs) {\n return function __do() {\n var v = Effect_Ref[\"new\"]({})();\n var v1 = Effect_Ref[\"new\"](Halogen_Data_Slot.empty)();\n var v2 = Effect_Ref[\"new\"](Halogen_Data_Slot.empty)();\n var v3 = Effect_Ref[\"new\"](handler)();\n var v4 = Effect_Ref[\"new\"](new Data_Maybe.Just(Data_List_Types.Nil.value))();\n var v5 = Effect_Ref[\"new\"](new Data_Maybe.Just(Data_List_Types.Nil.value))();\n var v6 = Effect_Ref[\"new\"](Data_Maybe.Nothing.value)();\n var v7 = Effect_Ref[\"new\"](1)();\n var v8 = Effect_Ref[\"new\"](new Data_Maybe.Just(Data_Map_Internal.empty))();\n var v9 = Effect_Ref[\"new\"](Data_Map_Internal.empty)();\n var ds = {\n component: component,\n state: component.initialState(input),\n refs: Data_Map_Internal.empty,\n children: Halogen_Data_Slot.empty,\n childrenIn: v1,\n childrenOut: v2,\n selfRef: v,\n handlerRef: v3,\n pendingQueries: v4,\n pendingOuts: v5,\n pendingHandlers: v6,\n rendering: Data_Maybe.Nothing.value,\n fresh: v7,\n subscriptions: v8,\n forks: v9,\n lifecycleHandlers: lchs\n };\n Effect_Ref.write(ds)(v)();\n return mkDriverStateXRef(v);\n };\n };\n };\n };\n };\n exports[\"mapDriverState\"] = mapDriverState;\n exports[\"unDriverStateX\"] = unDriverStateX;\n exports[\"mkDriverStateXRef\"] = mkDriverStateXRef;\n exports[\"renderStateX\"] = renderStateX;\n exports[\"renderStateX_\"] = renderStateX_;\n exports[\"unRenderStateX\"] = unRenderStateX;\n exports[\"initDriverState\"] = initDriverState;\n})(PS[\"Halogen.Aff.Driver.State\"] = PS[\"Halogen.Aff.Driver.State\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.reallyUnsafeRefEq = function (a) {\n return function (b) {\n return a === b;\n };\n };\n})(PS[\"Unsafe.Reference\"] = PS[\"Unsafe.Reference\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Unsafe.Reference\"]; \n var unsafeRefEq = $foreign.reallyUnsafeRefEq;\n exports[\"unsafeRefEq\"] = unsafeRefEq;\n})(PS[\"Unsafe.Reference\"] = PS[\"Unsafe.Reference\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Applicative_Free = PS[\"Control.Applicative.Free\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Coroutine = PS[\"Control.Coroutine\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Monad_Fork_Class = PS[\"Control.Monad.Fork.Class\"];\n var Control_Monad_Free = PS[\"Control.Monad.Free\"];\n var Control_Monad_Free_Trans = PS[\"Control.Monad.Free.Trans\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Parallel = PS[\"Control.Parallel\"];\n var Control_Parallel_Class = PS[\"Control.Parallel.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Coyoneda = PS[\"Data.Coyoneda\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Map = PS[\"Data.Map\"];\n var Data_Map_Internal = PS[\"Data.Map.Internal\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Halogen_Aff_Driver_State = PS[\"Halogen.Aff.Driver.State\"];\n var Halogen_Query_ChildQuery = PS[\"Halogen.Query.ChildQuery\"];\n var Halogen_Query_EventSource = PS[\"Halogen.Query.EventSource\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Halogen_Query_HalogenQ = PS[\"Halogen.Query.HalogenQ\"];\n var Halogen_Query_Input = PS[\"Halogen.Query.Input\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Reference = PS[\"Unsafe.Reference\"]; \n var unsubscribe = function (sid) {\n return function (ref) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v.subscriptions)))(function (v1) {\n return Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(Halogen_Query_EventSource.finalize)(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Data_Map_Internal.lookup(Halogen_Query_HalogenM.ordSubscriptionId)(sid))(v1));\n });\n });\n };\n };\n var queueOrRun = function (ref) {\n return function (au) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n if (v instanceof Data_Maybe.Nothing) {\n return au;\n };\n if (v instanceof Data_Maybe.Just) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.write(new Data_Maybe.Just(new Data_List_Types.Cons(au, v.value0)))(ref));\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 195, column 33 - line 197, column 54): \" + [ v.constructor.name ]);\n });\n };\n };\n var handleLifecycle = function (lchs) {\n return function (f) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.write({\n initializers: Data_List_Types.Nil.value,\n finalizers: Data_List_Types.Nil.value\n })(lchs)))(function () {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(f))(function (v) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(lchs)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(v1.finalizers))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Parallel.parSequence_(Effect_Aff.parallelAff)(Data_List_Types.foldableList)(v1.initializers))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v);\n });\n });\n });\n });\n });\n };\n };\n var fresh = function (f) {\n return function (ref) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"modify'\"](function (i) {\n return {\n state: i + 1 | 0,\n value: f(i)\n };\n })(v.fresh));\n });\n };\n };\n var evalQ = function (render) {\n return function (ref) {\n return function (q) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n return evalM(render)(ref)(v[\"component\"][\"eval\"](new Halogen_Query_HalogenQ.Query(Data_Functor.map(Data_Coyoneda.functorCoyoneda)(Data_Maybe.Just.create)(Data_Coyoneda.liftCoyoneda(q)), Data_Function[\"const\"](Data_Maybe.Nothing.value))));\n });\n };\n };\n };\n var evalM = function (render) {\n return function (initRef) {\n return function (v) {\n var evalChildQuery = function (ref) {\n return function (cqb) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n return Halogen_Query_ChildQuery.unChildQueryBox(function (v2) {\n var evalChild = function (v3) {\n return Control_Parallel_Class.parallel(Effect_Aff.parallelAff)(Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v3)))(function (v4) {\n return Halogen_Aff_Driver_State.unDriverStateX(function (ds) {\n return evalQ(render)(ds.selfRef)(v2.value1);\n })(v4);\n }));\n };\n return Data_Functor.map(Effect_Aff.functorAff)(v2.value2)(Control_Parallel_Class.sequential(Effect_Aff.parallelAff)(v2.value0(Effect_Aff.applicativeParAff)(evalChild)(v1.children)));\n })(cqb);\n });\n };\n };\n var go = function (ref) {\n return function (v1) {\n if (v1 instanceof Halogen_Query_HalogenM.State) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n var v3 = v1.value0(v2.state);\n if (Unsafe_Reference.unsafeRefEq(v2.state)(v3.value1)) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v3.value0);\n };\n if (Data_Boolean.otherwise) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.write({\n component: v2.component,\n state: v3.value1,\n refs: v2.refs,\n children: v2.children,\n childrenIn: v2.childrenIn,\n childrenOut: v2.childrenOut,\n selfRef: v2.selfRef,\n handlerRef: v2.handlerRef,\n pendingQueries: v2.pendingQueries,\n pendingOuts: v2.pendingOuts,\n pendingHandlers: v2.pendingHandlers,\n rendering: v2.rendering,\n fresh: v2.fresh,\n subscriptions: v2.subscriptions,\n forks: v2.forks,\n lifecycleHandlers: v2.lifecycleHandlers\n })(ref)))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(handleLifecycle(v2.lifecycleHandlers)(render(v2.lifecycleHandlers)(ref)))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v3.value0);\n });\n });\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 85, column 7 - line 91, column 21): \" + [ v3.constructor.name ]);\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Subscribe) {\n return Control_Bind.bind(Effect_Aff.bindAff)(fresh(Halogen_Query_HalogenM.SubscriptionId)(ref))(function (v2) {\n var v3 = v1.value0(v2);\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v4) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Control_Bind.bind(Effect_Aff.bindAff)(v3)(function (v5) {\n var done = Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v4.subscriptions)))(function (v6) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.modify_(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Map_Internal[\"delete\"](Halogen_Query_HalogenM.ordSubscriptionId)(v2)))(v4.subscriptions)))(function () {\n return Control_Applicative.when(Effect_Aff.applicativeAff)(Data_Maybe.maybe(false)(Data_Map_Internal.member(Halogen_Query_HalogenM.ordSubscriptionId)(v2))(v6))(Halogen_Query_EventSource.finalize(v5.finalizer));\n });\n });\n var consumer = Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Control_Coroutine[\"await\"](Effect_Aff.monadAff))(function (v6) {\n return Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Control_Monad_Trans_Class.lift(Control_Monad_Free_Trans.monadTransFreeT(Control_Coroutine.functorAwait))(Effect_Aff.monadAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v4.subscriptions))))(function (v7) {\n return Control_Applicative.when(Control_Monad_Free_Trans.applicativeFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Data_Eq.eq(Data_Maybe.eqMaybe(Data_Eq.eqBoolean))(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Map_Internal.member(Halogen_Query_HalogenM.ordSubscriptionId)(v2))(v7))(new Data_Maybe.Just(true)))(Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Control_Monad_Trans_Class.lift(Control_Monad_Free_Trans.monadTransFreeT(Control_Coroutine.functorAwait))(Effect_Aff.monadAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(evalF(render)(ref)(new Halogen_Query_Input.Action(v6)))))(function (v8) {\n return consumer;\n }));\n });\n });\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.modify_(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Map_Internal.insert(Halogen_Query_HalogenM.ordSubscriptionId)(v2)(done)))(v4.subscriptions)))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Coroutine.runProcess(Effect_Aff.monadRecAff)(Control_Coroutine.pullFrom(Effect_Aff.monadRecAff)(consumer)(v5.producer)))(function () {\n return Halogen_Query_EventSource.finalize(done);\n });\n });\n })))(function (v5) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1(v2));\n });\n });\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Unsubscribe) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(unsubscribe(v1.value0)(ref))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1);\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Lift) {\n return v1.value0;\n };\n if (v1 instanceof Halogen_Query_HalogenM.ChildQuery) {\n return evalChildQuery(ref)(v1.value0);\n };\n if (v1 instanceof Halogen_Query_HalogenM.Raise) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v2.handlerRef)))(function (v3) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(queueOrRun(v2.pendingOuts)(v3(v1.value0)))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1);\n });\n });\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Par) {\n return Control_Parallel_Class.sequential(Effect_Aff.parallelAff)(Control_Applicative_Free.retractFreeAp(Effect_Aff.applicativeParAff)(Control_Applicative_Free.hoistFreeAp(function ($111) {\n return Control_Parallel_Class.parallel(Effect_Aff.parallelAff)(evalM(render)(ref)($111));\n })(v1.value0)));\n };\n if (v1 instanceof Halogen_Query_HalogenM.Fork) {\n return Control_Bind.bind(Effect_Aff.bindAff)(fresh(Halogen_Query_HalogenM.ForkId)(ref))(function (v2) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v3) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"new\"](false)))(function (v4) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Effect_Aff[\"finally\"](Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(function __do() {\n Effect_Ref.modify_(Data_Map_Internal[\"delete\"](Halogen_Query_HalogenM.ordForkId)(v2))(v3.forks)();\n return Effect_Ref.write(true)(v4)();\n }))(evalM(render)(ref)(v1.value0))))(function (v5) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Control_Monad.unlessM(Effect.monadEffect)(Effect_Ref.read(v4))(Effect_Ref.modify_(Data_Map_Internal.insert(Halogen_Query_HalogenM.ordForkId)(v2)(v5))(v3.forks))))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1(v2));\n });\n });\n });\n });\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Kill) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v2.forks)))(function (v3) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(Effect_Aff.killFiber(Effect_Exception.error(\"Cancelled\")))(Data_Map_Internal.lookup(Halogen_Query_HalogenM.ordForkId)(v1.value0)(v3)))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1);\n });\n });\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.GetRef) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1(Data_Map_Internal.lookup(Data_Ord.ordString)(v1.value0)(v2.refs)));\n });\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 82, column 12 - line 146, column 33): \" + [ v1.constructor.name ]);\n };\n };\n return Control_Monad_Free.foldFree(Effect_Aff.monadRecAff)(go(initRef))(v);\n };\n };\n };\n var evalF = function (render) {\n return function (ref) {\n return function (v) {\n if (v instanceof Halogen_Query_Input.RefUpdate) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Data_Function.flip(Effect_Ref.modify_)(ref)(Halogen_Aff_Driver_State.mapDriverState(function (st) {\n return {\n component: st.component,\n state: st.state,\n refs: Data_Map_Internal.alter(Data_Ord.ordString)(Data_Function[\"const\"](v.value1))(v.value0)(st.refs),\n children: st.children,\n childrenIn: st.childrenIn,\n childrenOut: st.childrenOut,\n selfRef: st.selfRef,\n handlerRef: st.handlerRef,\n pendingQueries: st.pendingQueries,\n pendingOuts: st.pendingOuts,\n pendingHandlers: st.pendingHandlers,\n rendering: st.rendering,\n fresh: st.fresh,\n subscriptions: st.subscriptions,\n forks: st.forks,\n lifecycleHandlers: st.lifecycleHandlers\n };\n })));\n };\n if (v instanceof Halogen_Query_Input.Action) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n return evalM(render)(ref)(v1[\"component\"][\"eval\"](new Halogen_Query_HalogenQ.Action(v.value0, Data_Unit.unit)));\n });\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 51, column 20 - line 57, column 62): \" + [ v.constructor.name ]);\n };\n };\n };\n exports[\"evalF\"] = evalF;\n exports[\"evalQ\"] = evalQ;\n exports[\"evalM\"] = evalM;\n exports[\"handleLifecycle\"] = handleLifecycle;\n exports[\"queueOrRun\"] = queueOrRun;\n})(PS[\"Halogen.Aff.Driver.Eval\"] = PS[\"Halogen.Aff.Driver.Eval\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Coroutine = PS[\"Control.Coroutine\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Fork_Class = PS[\"Control.Monad.Fork.Class\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Parallel = PS[\"Control.Parallel\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Map = PS[\"Data.Map\"];\n var Data_Map_Internal = PS[\"Data.Map.Internal\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Aff_AVar = PS[\"Effect.Aff.AVar\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Console = PS[\"Effect.Console\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Aff_Driver_Eval = PS[\"Halogen.Aff.Driver.Eval\"];\n var Halogen_Aff_Driver_State = PS[\"Halogen.Aff.Driver.State\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_Data_Slot = PS[\"Halogen.Data.Slot\"];\n var Halogen_Query_EventSource = PS[\"Halogen.Query.EventSource\"];\n var Halogen_Query_HalogenQ = PS[\"Halogen.Query.HalogenQ\"];\n var Halogen_Query_Input = PS[\"Halogen.Query.Input\"];\n var Prelude = PS[\"Prelude\"]; \n var newLifecycleHandlers = Effect_Ref[\"new\"]({\n initializers: Data_List_Types.Nil.value,\n finalizers: Data_List_Types.Nil.value\n });\n var handleAff = Effect_Aff.runAff_(Data_Either.either(Effect_Exception.throwException)(Data_Function[\"const\"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit))));\n var handlePending = function (ref) {\n return function __do() {\n var v = Effect_Ref.read(ref)();\n Effect_Ref.write(Data_Maybe.Nothing.value)(ref)();\n return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(v)(function ($79) {\n return handleAff(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(Data_List.reverse($79)));\n })();\n };\n };\n var cleanupSubscriptionsAndForks = function (v) {\n return function __do() {\n Control_Bind.bindFlipped(Effect.bindEffect)(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(function ($80) {\n return handleAff(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Map_Internal.foldableMap)(function ($81) {\n return Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Halogen_Query_EventSource.finalize($81));\n })($80));\n }))(Effect_Ref.read(v.subscriptions))();\n Effect_Ref.write(Data_Maybe.Nothing.value)(v.subscriptions)();\n Control_Bind.bindFlipped(Effect.bindEffect)(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Map_Internal.foldableMap)(function ($82) {\n return handleAff(Effect_Aff.killFiber(Effect_Exception.error(\"finalized\"))($82));\n }))(Effect_Ref.read(v.forks))();\n return Effect_Ref.write(Data_Map_Internal.empty)(v.forks)();\n };\n };\n var runUI = function (renderSpec) {\n return function (component) {\n return function (i) {\n var subscribe = function (fresh) {\n return function (ref) {\n return function (consumer) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Aff_AVar.empty)(function (v) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(function __do() {\n var v1 = Effect_Ref.read(fresh)();\n Effect_Ref.modify_(function (v2) {\n return v2 + 1 | 0;\n })(fresh)();\n Effect_Ref.modify_(Data_Map_Internal.insert(Data_Ord.ordInt)(v1)(v))(ref)();\n return v1;\n }))(function (v1) {\n var producer = Control_Coroutine.producer(Effect_Aff.monadAff)(Data_Functor.map(Effect_Aff.functorAff)(Data_Either.either(Data_Function[\"const\"](new Data_Either.Right(Data_Unit.unit)))(Data_Either.Left.create))(Control_Monad_Error_Class[\"try\"](Effect_Aff.monadErrorAff)(Effect_Aff_AVar.take(v))));\n return Data_Functor[\"void\"](Effect_Aff.functorAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Coroutine.runProcess(Effect_Aff.monadRecAff)(Control_Coroutine.connect(Effect_Aff.monadRecAff)(Effect_Aff.parallelAff)(producer)(consumer)))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.modify_(Data_Map_Internal[\"delete\"](Data_Ord.ordInt)(v1))(ref)))(function () {\n return Effect_Aff_AVar.kill(Effect_Exception.error(\"ended\"))(v);\n });\n })));\n });\n });\n };\n };\n };\n var rootHandler = function (ref) {\n return function (message) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n return Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Map_Internal.foldableMap)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(Data_Functor.map(Data_Map_Internal.functorMap)(Effect_Aff_AVar.put(message))(v));\n });\n };\n };\n var squashChildInitializers = function (lchs) {\n return function (preInits) {\n return Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n var parentInitializer = Halogen_Aff_Driver_Eval.evalM(render)(st.selfRef)(st[\"component\"][\"eval\"](new Halogen_Query_HalogenQ.Initialize(Data_Unit.unit)));\n return Effect_Ref.modify_(function (handlers) {\n return {\n initializers: new Data_List_Types.Cons(Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Parallel.parSequence_(Effect_Aff.parallelAff)(Data_List_Types.foldableList)(Data_List.reverse(handlers.initializers)))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(parentInitializer)(function () {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(function __do() {\n handlePending(st.pendingQueries)();\n return handlePending(st.pendingOuts)();\n });\n });\n }), preInits),\n finalizers: handlers.finalizers\n };\n })(lchs);\n });\n };\n };\n var runComponent = function (lchs) {\n return function (handler) {\n return function (j) {\n return Halogen_Component.unComponent(function (c) {\n return function __do() {\n var v = newLifecycleHandlers();\n var v1 = Halogen_Aff_Driver_State.initDriverState(c)(j)(handler)(v)();\n var v2 = Effect_Ref.read(lchs)();\n Effect_Ref.write({\n initializers: Data_List_Types.Nil.value,\n finalizers: v2.finalizers\n })(lchs)();\n Control_Bind.bindFlipped(Effect.bindEffect)(Halogen_Aff_Driver_State.unDriverStateX(function ($83) {\n return render(lchs)((function (v3) {\n return v3.selfRef;\n })($83));\n }))(Effect_Ref.read(v1))();\n Control_Bind.bindFlipped(Effect.bindEffect)(squashChildInitializers(lchs)(v2.initializers))(Effect_Ref.read(v1))();\n return v1;\n };\n });\n };\n };\n };\n var renderChild = function (lchs) {\n return function (handler) {\n return function (childrenInRef) {\n return function (childrenOutRef) {\n return Halogen_Component.unComponentSlot(function (slot) {\n return function __do() {\n var v = Effect_Ref.read(childrenInRef)();\n var v1 = (function () {\n var v1 = slot.pop(v);\n if (v1 instanceof Data_Maybe.Just) {\n Effect_Ref.write(v1.value0.value1)(childrenInRef)();\n var v2 = Effect_Ref.read(v1.value0.value0)();\n Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return function __do() {\n Data_Function.flip(Effect_Ref.write)(st.handlerRef)(function ($84) {\n return Data_Maybe.maybe(Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Unit.unit))(handler)(slot.output($84));\n })();\n return handleAff(Halogen_Aff_Driver_Eval.evalM(render)(st.selfRef)(st[\"component\"][\"eval\"](slot.input)))();\n };\n })(v2)();\n return v1.value0.value0;\n };\n if (v1 instanceof Data_Maybe.Nothing) {\n if (slot.input instanceof Halogen_Query_HalogenQ.Receive) {\n return runComponent(lchs)(function ($85) {\n return Data_Maybe.maybe(Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Unit.unit))(handler)(slot.output($85));\n })(slot.input.value0)(slot.component)();\n };\n return Effect_Exception[\"throw\"](\"Halogen internal error: slot input was not a Receive query\")();\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver (line 232, column 14 - line 246, column 7): \" + [ v1.constructor.name ]);\n })();\n var v2 = Data_Functor.map(Effect.functorEffect)(function ($86) {\n return Data_Maybe.isJust(slot.get($86));\n })(Effect_Ref.read(childrenOutRef))();\n Control_Applicative.when(Effect.applicativeEffect)(v2)(Effect_Console.warn(\"Halogen: Duplicate slot address was detected during rendering, unexpected results may occur\"))();\n Effect_Ref.modify_(slot.set(v1))(childrenOutRef)();\n return Control_Bind.bind(Effect.bindEffect)(Effect_Ref.read(v1))(Halogen_Aff_Driver_State.renderStateX(Effect.functorEffect)(function (v3) {\n if (v3 instanceof Data_Maybe.Nothing) {\n return Effect_Exception[\"throw\"](\"Halogen internal error: child was not initialized in renderChild\");\n };\n if (v3 instanceof Data_Maybe.Just) {\n return Control_Applicative.pure(Effect.applicativeEffect)(renderSpec.renderChild(v3.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver (line 250, column 37 - line 252, column 50): \" + [ v3.constructor.name ]);\n }))();\n };\n });\n };\n };\n };\n };\n var render = function (lchs) {\n return function ($$var) {\n return function __do() {\n var v = Effect_Ref.read($$var)();\n var v1 = Data_Functor.map(Effect.functorEffect)(Data_Maybe.isNothing)(Effect_Ref.read(v.pendingHandlers))();\n Control_Applicative.when(Effect.applicativeEffect)(v1)(Effect_Ref.write(new Data_Maybe.Just(Data_List_Types.Nil.value))(v.pendingHandlers))();\n Effect_Ref.write(Halogen_Data_Slot.empty)(v.childrenOut)();\n Effect_Ref.write(v.children)(v.childrenIn)();\n var handler = function ($87) {\n return Halogen_Aff_Driver_Eval.queueOrRun(v.pendingHandlers)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_Aff_Driver_Eval.evalF(render)(v.selfRef)($87)));\n };\n var childHandler = function ($88) {\n return Halogen_Aff_Driver_Eval.queueOrRun(v.pendingQueries)(handler(Halogen_Query_Input.Action.create($88)));\n };\n var v2 = renderSpec.render(function ($89) {\n return handleAff(handler($89));\n })(renderChild(lchs)(childHandler)(v.childrenIn)(v.childrenOut))(v.component.render(v.state))(v.rendering)();\n var v3 = Effect_Ref.read(v.childrenOut)();\n var v4 = Effect_Ref.read(v.childrenIn)();\n Halogen_Data_Slot.foreachSlot(Effect.applicativeEffect)(v4)(function (v5) {\n return function __do() {\n var v6 = Effect_Ref.read(v5)();\n Halogen_Aff_Driver_State.renderStateX_(Effect.applicativeEffect)(renderSpec.removeChild)(v6)();\n return finalize(lchs)(v6)();\n };\n })();\n Data_Function.flip(Effect_Ref.modify_)(v.selfRef)(Halogen_Aff_Driver_State.mapDriverState(function (ds$prime) {\n return {\n component: ds$prime.component,\n state: ds$prime.state,\n refs: ds$prime.refs,\n children: v3,\n childrenIn: ds$prime.childrenIn,\n childrenOut: ds$prime.childrenOut,\n selfRef: ds$prime.selfRef,\n handlerRef: ds$prime.handlerRef,\n pendingQueries: ds$prime.pendingQueries,\n pendingOuts: ds$prime.pendingOuts,\n pendingHandlers: ds$prime.pendingHandlers,\n rendering: new Data_Maybe.Just(v2),\n fresh: ds$prime.fresh,\n subscriptions: ds$prime.subscriptions,\n forks: ds$prime.forks,\n lifecycleHandlers: ds$prime.lifecycleHandlers\n };\n }))();\n return Control_Applicative.when(Effect.applicativeEffect)(v1)(Data_Function.flip(Control_Monad_Rec_Class.tailRecM(Control_Monad_Rec_Class.monadRecEffect))(Data_Unit.unit)(function (v5) {\n return function __do() {\n var v6 = Effect_Ref.read(v.pendingHandlers)();\n Effect_Ref.write(new Data_Maybe.Just(Data_List_Types.Nil.value))(v.pendingHandlers)();\n Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(function ($90) {\n return handleAff(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(Data_List.reverse($90)));\n })(v6)();\n var v7 = Effect_Ref.read(v.pendingHandlers)();\n var $69 = Data_Maybe.maybe(false)(Data_List[\"null\"])(v7);\n if ($69) {\n return Data_Functor.voidLeft(Effect.functorEffect)(Effect_Ref.write(Data_Maybe.Nothing.value)(v.pendingHandlers))(new Control_Monad_Rec_Class.Done(Data_Unit.unit))();\n };\n return new Control_Monad_Rec_Class.Loop(Data_Unit.unit);\n };\n }))();\n };\n };\n };\n var finalize = function (lchs) {\n return Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return function __do() {\n cleanupSubscriptionsAndForks(st)();\n var f = Halogen_Aff_Driver_Eval.evalM(render)(st.selfRef)(st[\"component\"][\"eval\"](new Halogen_Query_HalogenQ.Finalize(Data_Unit.unit)));\n Effect_Ref.modify_(function (handlers) {\n return {\n initializers: handlers.initializers,\n finalizers: new Data_List_Types.Cons(f, handlers.finalizers)\n };\n })(lchs)();\n return Halogen_Data_Slot.foreachSlot(Effect.applicativeEffect)(st.children)(function (v) {\n return function __do() {\n var v1 = Effect_Ref.read(v)();\n return finalize(lchs)(v1)();\n };\n })();\n };\n });\n };\n var evalDriver = function (disposed) {\n return function (ref) {\n return function (q) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(disposed)))(function (v) {\n if (v) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Maybe.Nothing.value);\n };\n return Halogen_Aff_Driver_Eval.evalQ(render)(ref)(q);\n });\n };\n };\n };\n var dispose = function (disposed) {\n return function (lchs) {\n return function (dsx) {\n return function (subsRef) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(function __do() {\n var v = Effect_Ref.read(disposed)();\n if (v) {\n return Data_Unit.unit;\n };\n Effect_Ref.write(true)(disposed)();\n Control_Bind.bindFlipped(Effect.bindEffect)(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Map_Internal.foldableMap)(function ($91) {\n return Effect_Aff.launchAff_(Effect_Aff_AVar.kill(Effect_Exception.error(\"disposed\"))($91));\n }))(Effect_Ref.read(subsRef))();\n finalize(lchs)(dsx)();\n return Halogen_Aff_Driver_State.unDriverStateX(function ($92) {\n return Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(renderSpec.dispose)((function (v1) {\n return v1.rendering;\n })($92));\n })(dsx)();\n });\n };\n };\n };\n };\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(newLifecycleHandlers))(function (v) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"new\"](0)))(function (v1) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"new\"](false)))(function (v2) {\n return Halogen_Aff_Driver_Eval.handleLifecycle(v)(function __do() {\n var v3 = Effect_Ref[\"new\"](Data_Map_Internal.empty)();\n var v4 = Control_Bind.bindFlipped(Effect.bindEffect)(Effect_Ref.read)(runComponent(v)(rootHandler(v3))(i)(component))();\n return Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return Control_Applicative.pure(Effect.applicativeEffect)({\n query: evalDriver(v2)(st.selfRef),\n subscribe: subscribe(v1)(v3),\n dispose: dispose(v2)(v)(v4)(v3)\n });\n })(v4)();\n });\n });\n });\n });\n };\n };\n };\n exports[\"runUI\"] = runUI;\n})(PS[\"Halogen.Aff.Driver\"] = PS[\"Halogen.Aff.Driver\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var Web_HTML = PS[\"Web.HTML\"];\n var Web_HTML_Event_EventTypes = PS[\"Web.HTML.Event.EventTypes\"];\n var Web_HTML_HTMLDocument = PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_HTMLDocument_ReadyState = PS[\"Web.HTML.HTMLDocument.ReadyState\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_Window = PS[\"Web.HTML.Window\"]; \n var selectElement = function (query) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Control_Bind.bindFlipped(Effect.bindEffect)(Control_Bind.composeKleisliFlipped(Effect.bindEffect)(function ($12) {\n return Web_DOM_ParentNode.querySelector(query)(Web_HTML_HTMLDocument.toParentNode($12));\n })(Web_HTML_Window.document))(Web_HTML.window)))(function (v) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Web_HTML_HTMLElement.fromElement)(v));\n });\n };\n var runHalogenAff = Effect_Aff.runAff_(Data_Either.either(Effect_Exception.throwException)(Data_Function[\"const\"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit))));\n exports[\"selectElement\"] = selectElement;\n exports[\"runHalogenAff\"] = runHalogenAff;\n})(PS[\"Halogen.Aff.Util\"] = PS[\"Halogen.Aff.Util\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Halogen_Aff_Driver = PS[\"Halogen.Aff.Driver\"];\n var Halogen_Aff_Driver_State = PS[\"Halogen.Aff.Driver.State\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_Query_Input = PS[\"Halogen.Query.Input\"];\n var Halogen_VDom = PS[\"Halogen.VDom\"];\n var Halogen_VDom_DOM = PS[\"Halogen.VDom.DOM\"];\n var Halogen_VDom_DOM_Prop = PS[\"Halogen.VDom.DOM.Prop\"];\n var Halogen_VDom_Machine = PS[\"Halogen.VDom.Machine\"];\n var Halogen_VDom_Thunk = PS[\"Halogen.VDom.Thunk\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Reference = PS[\"Unsafe.Reference\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_Node = PS[\"Web.DOM.Node\"];\n var Web_HTML = PS[\"Web.HTML\"];\n var Web_HTML_HTMLDocument = PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_Window = PS[\"Web.HTML.Window\"];\n var substInParent = function (v) {\n return function (v1) {\n return function (v2) {\n if (v1 instanceof Data_Maybe.Just && v2 instanceof Data_Maybe.Just) {\n return Data_Functor[\"void\"](Effect.functorEffect)(Web_DOM_Node.insertBefore(v)(v1.value0)(v2.value0));\n };\n if (v1 instanceof Data_Maybe.Nothing && v2 instanceof Data_Maybe.Just) {\n return Data_Functor[\"void\"](Effect.functorEffect)(Web_DOM_Node.appendChild(v)(v2.value0));\n };\n return Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit);\n };\n };\n };\n var removeChild = function (v) {\n return function __do() {\n var v1 = Web_DOM_Node.parentNode(v.node)();\n return Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(function (pn) {\n return Web_DOM_Node.removeChild(v.node)(pn);\n })(v1)();\n };\n };\n var mkSpec = function (handler) {\n return function (renderChildRef) {\n return function (document) {\n var getNode = Halogen_Aff_Driver_State.unRenderStateX(function (v) {\n return v.node;\n });\n var done = function (st) {\n if (st instanceof Data_Maybe.Just) {\n return Halogen_VDom_Machine.halt(st.value0);\n };\n return Data_Unit.unit;\n };\n var buildWidget = function (spec) {\n var buildThunk = Halogen_VDom_Thunk.buildThunk(Data_Newtype.unwrap(Halogen_HTML_Core.newtypeHTML))(spec);\n var renderComponentSlot = function (cs) {\n var v = Effect_Ref.read(renderChildRef)();\n var v1 = v(cs)();\n var node = getNode(v1);\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(node, Data_Maybe.Nothing.value, patch, done));\n };\n var render = function (slot) {\n if (slot instanceof Halogen_Component.ComponentSlot) {\n return renderComponentSlot(slot.value0);\n };\n if (slot instanceof Halogen_Component.ThunkSlot) {\n var v = buildThunk(slot.value0);\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(v), new Data_Maybe.Just(v), patch, done));\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Driver (line 85, column 7 - line 90, column 75): \" + [ slot.constructor.name ]);\n };\n var patch = function (st, slot) {\n if (st instanceof Data_Maybe.Just) {\n if (slot instanceof Halogen_Component.ComponentSlot) {\n Halogen_VDom_Machine.halt(st.value0);\n return renderComponentSlot(slot.value0);\n };\n if (slot instanceof Halogen_Component.ThunkSlot) {\n var v = Halogen_VDom_Machine.step(st.value0, slot.value0);\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(v), new Data_Maybe.Just(v), patch, done));\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Driver (line 98, column 22 - line 104, column 79): \" + [ slot.constructor.name ]);\n };\n return render(slot);\n };\n return render;\n };\n var buildAttributes = Halogen_VDom_DOM_Prop.buildProp(handler);\n return {\n buildWidget: buildWidget,\n buildAttributes: buildAttributes,\n document: document\n };\n };\n };\n };\n var renderSpec = function (document) {\n return function (container) {\n var render = function (handler) {\n return function (child) {\n return function (v) {\n return function (v1) {\n if (v1 instanceof Data_Maybe.Nothing) {\n return function __do() {\n var v2 = Effect_Ref[\"new\"](child)();\n var spec = mkSpec(handler)(v2)(document);\n var v3 = Halogen_VDom_DOM.buildVDom(spec)(v);\n var node = Halogen_VDom_Machine.extract(v3);\n Data_Functor[\"void\"](Effect.functorEffect)(Web_DOM_Node.appendChild(node)(Web_HTML_HTMLElement.toNode(container)))();\n return {\n machine: v3,\n node: node,\n renderChildRef: v2\n };\n };\n };\n if (v1 instanceof Data_Maybe.Just) {\n return function __do() {\n Effect_Ref.write(child)(v1.value0.renderChildRef)();\n var v2 = Web_DOM_Node.parentNode(v1.value0.node)();\n var v3 = Web_DOM_Node.nextSibling(v1.value0.node)();\n var v4 = Halogen_VDom_Machine.step(v1.value0.machine, v);\n var newNode = Halogen_VDom_Machine.extract(v4);\n Control_Applicative.when(Effect.applicativeEffect)(Data_HeytingAlgebra.not(Data_HeytingAlgebra.heytingAlgebraFunction(Data_HeytingAlgebra.heytingAlgebraFunction(Data_HeytingAlgebra.heytingAlgebraBoolean)))(Unsafe_Reference.unsafeRefEq)(v1.value0.node)(newNode))(substInParent(newNode)(v3)(v2))();\n return {\n machine: v4,\n node: newNode,\n renderChildRef: v1.value0.renderChildRef\n };\n };\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Driver (line 159, column 5 - line 175, column 80): \" + [ v1.constructor.name ]);\n };\n };\n };\n };\n return {\n render: render,\n renderChild: Control_Category.identity(Control_Category.categoryFn),\n removeChild: removeChild,\n dispose: removeChild\n };\n };\n };\n var runUI = function (component) {\n return function (i) {\n return function (element) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Data_Functor.map(Effect.functorEffect)(Web_HTML_HTMLDocument.toDocument)(Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Window.document)(Web_HTML.window))))(function (v) {\n return Halogen_Aff_Driver.runUI(renderSpec(v)(element))(component)(i);\n });\n };\n };\n };\n exports[\"runUI\"] = runUI;\n})(PS[\"Halogen.VDom.Driver\"] = PS[\"Halogen.VDom.Driver\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports._mainImpl = function() {\n return window.PS = PS;\n }\n})(PS[\"Main\"] = PS[\"Main\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Main\"];\n var App = PS[\"App\"];\n var Component_AccountSettings = PS[\"Component.AccountSettings\"];\n var Component_Add = PS[\"Component.Add\"];\n var Component_BList = PS[\"Component.BList\"];\n var Component_NList = PS[\"Component.NList\"];\n var Component_NNote = PS[\"Component.NNote\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Halogen_Aff = PS[\"Halogen.Aff\"];\n var Halogen_Aff_Util = PS[\"Halogen.Aff.Util\"];\n var Halogen_VDom_Driver = PS[\"Halogen.VDom.Driver\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"]; \n var showFooter = Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(\".user_footer\"))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Web_DOM_Element.removeAttribute(\"hidden\")(Web_HTML_HTMLElement.toElement(el)));\n }));\n var renderNotes = function (renderElSelector) {\n return function (notes) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_NList.nlist(notes))(Data_Unit.unit)(el)))(function () {\n return showFooter;\n });\n })));\n };\n };\n var renderNote = function (renderElSelector) {\n return function (note) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_NNote.nnote(note))(Data_Unit.unit)(el));\n })));\n };\n };\n var renderBookmarks = function (renderElSelector) {\n return function (bmarks) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_BList.blist(bmarks))(Data_Unit.unit)(el)))(function () {\n return showFooter;\n });\n })));\n };\n };\n var renderAddForm = function (renderElSelector) {\n return function (bmark) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Halogen_VDom_Driver.runUI(Component_Add.addbmark(bmark))(Data_Unit.unit)(el);\n })));\n };\n };\n var renderAccountSettings = function (renderElSelector) {\n return function (accountSettings) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_AccountSettings.usetting(accountSettings))(Data_Unit.unit)(el));\n })));\n };\n };\n var main = $foreign[\"_mainImpl\"];\n var logoutE = function (e) {\n return Control_Bind.bindFlipped(Effect.bindEffect)(function ($0) {\n return Data_Functor[\"void\"](Effect.functorEffect)(Effect_Aff.launchAff(App.logout($0)));\n })(Web_Event_Event.preventDefault(e));\n };\n exports[\"main\"] = main;\n exports[\"logoutE\"] = logoutE;\n exports[\"renderBookmarks\"] = renderBookmarks;\n exports[\"renderAddForm\"] = renderAddForm;\n exports[\"renderNotes\"] = renderNotes;\n exports[\"renderNote\"] = renderNote;\n exports[\"renderAccountSettings\"] = renderAccountSettings;\n exports[\"showFooter\"] = showFooter;\n exports[\"_mainImpl\"] = $foreign[\"_mainImpl\"];\n})(PS[\"Main\"] = PS[\"Main\"] || {});\nPS[\"Main\"].main();"]} \ No newline at end of file +{"version":3,"sources":["../node_modules/moment/moment.js","../node_modules/marked/lib/marked.js","../node_modules/process/browser.js","bundle.js"],"names":["root","block","newline","code","fences","noop","hr","heading","nptable","blockquote","list","html","def","table","lheading","paragraph","text","Lexer","options","tokens","links","Object","create","marked","defaults","rules","normal","pedantic","gfm","tables","_label","_title","edit","replace","getRegex","bullet","item","source","_tag","_comment","merge","lex","src","lexer","prototype","token","top","next","loose","cap","bull","b","listStart","listItems","t","space","i","tag","l","isordered","istask","ischecked","exec","substring","length","push","type","rtrim","lang","trim","depth","header","splitCells","align","split","cells","test","ordered","start","match","indexOf","RegExp","smartLists","slice","join","charAt","undefined","task","checked","sanitize","pre","sanitizer","toLowerCase","href","title","Error","charCodeAt","inline","escape","autolink","url","link","reflink","nolink","strong","em","br","del","InlineLexer","renderer","Renderer","breaks","TextRenderer","Parser","slugger","Slugger","seen","encode","escapeTest","escapeReplace","ch","replacements","escapeTestNoEncode","escapeReplaceNoEncode","unescape","_","n","String","fromCharCode","parseInt","regex","opt","name","val","cleanUrl","base","prot","decodeURIComponent","e","originIndependentUrl","resolveUrl","baseUrls","encodeURI","_punctuation","_escapes","_scheme","_email","_attribute","_href","_extended_email","_backpedal","output","out","prevCapZero","inLink","inRawBlock","outputLink","escapes","codespan","mangle","smartypants","image","Math","random","toString","infostring","escaped","highlight","langPrefix","quote","level","raw","headerIds","headerPrefix","slug","xhtml","body","listitem","checkbox","tablerow","content","tablecell","flags","baseUrl","parse","parser","inlineText","reverse","tok","pop","peek","parseText","row","cell","j","errMsg","silent","console","log","value","hasOwnProperty","originalSlug","obj","target","key","arguments","call","tableRow","count","offset","str","curr","splice","c","invert","suffLen","currChar","substr","callback","pending","done","err","message","setOptions","getDefaults","inlineLexer","module","exports","define","amd","window","global","cachedSetTimeout","cachedClearTimeout","process","defaultSetTimout","defaultClearTimeout","runTimeout","fun","setTimeout","runClearTimeout","marker","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","concat","drainQueue","timeout","len","run","Item","array","nextTick","args","Array","apply","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","PS","platformSpecific","_ajax","require","newXHR","XMLHttpRequest","fixupUrl","getResponse","xhr","response","urllib","u","protocol","hostname","format","mkHeader","errback","fixedUrl","open","method","username","password","headers","setRequestHeader","field","onerror","msg","ontimeout","onload","status","statusText","getAllResponseHeaders","filter","map","responseType","withCredentials","send","error","cancelErrback","cancelCallback","abort","fromObject","id","x","stringify","JSON","refEq","r1","r2","boolConj","b1","b2","boolDisj","boolNot","$foreign","SProxy","reflectSymbol","dict","unit","showIntImpl","unsafeGet","label","rec","RLProxy","Show","show","showInt","HeytingAlgebra","conj","disj","ff","implies","not","tt","heytingAlgebraBoolean","a","dictHeytingAlgebra","f","g","v","spin","$copy_v","$tco_result","Eq","eq","eqUnit","v1","eqString","eqInt","eqChar","eqBoolean","Semigroupoid","compose","semigroupoidFn","Control_Semigroupoid","Category","Semigroupoid0","identity","categoryFn","unsafeCompareImpl","lt","gt","y","concatString","s1","s2","concatArray","xs","ys","Semigroup","append","semigroupString","semigroupArray","dictSemigroup","Data_Eq","LT","GT","EQ","Data_Ordering","unsafeCompare","intSub","intAdd","intMul","Semiring","add","mul","one","zero","semiringInt","Data_Semiring","Ring","Semiring0","sub","ringInt","Data_Ord_Unsafe","Ord","Eq0","compare","ordUnit","ordString","ordInt","ordChar","runFn4","fn","d","arrayMap","arr","result","Data_Function","Data_Unit","Functor","functorFn","functorArray","dictFunctor","Functor0","alt","arrayApply","fs","k","Control_Category","Data_Functor","Apply","applyArray","dictApply","Control_Apply","pure","Apply0","dictApplicative","constructor","arrayBind","Bind","bind","Discard","discard","bindArray","bindFlipped","dictBind","flip","discardUnit","m","Control_Applicative","Control_Bind","Applicative0","Bind1","dictMonad","mb","unless","Alt0","empty","topInt","bottomInt","topChar","bottomChar","Data_Ord","Bounded","Ord0","bottom","boundedInt","boundedChar","intDegree","min","abs","intDiv","floor","intMod","yy","Data_Ring","CommutativeRing","Ring0","commutativeRingInt","Data_CommutativeRing","EuclideanRing","CommutativeRing0","degree","div","mod","euclideanRingInt","Data_Boolean","Data_Semigroup","Monoid","Semigroup0","mempty","monoidString","monoidArray","dictMonoid","semigroupFn","Control_Alt","Nothing","Just","value0","maybe","v2","isNothing","isJust","functorMaybe","applyMaybe","bindMaybe","dictPartial","dictEq","_lookup","no","yes","cons","snoc","l1","xss","s","drop","bimap","dictBifunctor","foldrArray","init","acc","foldlArray","Data_HeytingAlgebra","Data_Monoid","semigroupDisj","Data_Monoid_Disj","Newtype","unwrap","wrap","newtypeDisj","Disj","dictFunctor1","dictNewtype","dictNewtype1","$80","Data_Maybe","Data_Newtype","Foldable","foldMap","foldl","foldr","traverse_","dictFoldable","$195","applySecond","foldableMaybe","z","foldMapDefaultR","foldableArray","alaF","monoidDisj","p","Data_Bifunctor","Left","Right","functorEither","bifunctorEither","Bifunctor","applyEither","Control_Monad","Identity","newtypeIdentity","functorIdentity","applyIdentity","bindIdentity","applicativeIdentity","Applicative","monadIdentity","Monad","pureE","bindE","monadEffect","applicativeEffect","bindEffect","applyEffect","functorEffect","ap","liftA1","new","read","ref","state","write","Effect","modify","s$prime","unsafePartial","crashWith","Partial","Effect_Ref","Loop","Done","MonadRec","Monad0","tailRecM","monadRecEffect","fromDone","Tuple","value1","functorTuple","eqTuple","dictEq1","dictOrd","dictOrd1","unfoldrArrayImpl","fromJust","fst","snd","tuple","unfoldr1ArrayImpl","Data_Tuple","Unfoldable1","unfoldr1","unfoldable1Array","Data_Unfoldable1","Unfoldable","Unfoldable10","unfoldr","unfoldableArray","unsafeCoerce","singleton","concatMap","$114","Data_Function_Uncurried","lookup","Foreign_Object","jsonEmptyObject","s3","replaceAll","sep","joinWith","unsafeStringify","unsafeDecodeURIComponent","unsafeEncodeURIComponent","encodeURIComponent","encodePart","Data_String_Common","Global_Unsafe","toArray","$14","MediaType","newtypeMediaType","Data_Argonaut_Core","Data_MediaType_Common","ArrayView","Blob","Document","$$String","FormData","FormURLEncoded","Json","string","applicationFormURLEncoded","applicationJSON","Data_MediaType","Accept","ContentType","RequestHeader","unsafeToForeign","unsafeFromForeign","typeOf","tagOf","throwException","$1","Data_Either","catchError","throwError","MonadThrow0","dictMonadError","$21","dictMonadState","lift","liftEffect","Control_Monad_Error_Class","ExceptT","mapExceptT","functorExceptT","monadExceptT","applicativeExceptT","bindExceptT","applyExceptT","either","$97","$98","MonadThrow","$102","Control_Monad_Except_Trans","Data_Identity","$0","runExceptT","Control_Plus","NonEmpty","dictPlus","Data_Foldable","Nil","Cons","foldableList","$174","go","$copy_b","$tco_var_b","$tco_done","$tco_loop","rev","$175","functorList","semigroupList","applyList","applicativeList","altList","Alt","plusList","Plus","$copy_acc","Data_List_Types","$tco_var_acc","Data_NonEmpty","$165","NonEmptyList","Data_List_NonEmpty","ForeignError","TypeMismatch","fail","$107","monadThrowExceptT","unsafeReadTagged","otherwise","readBoolean","readString","ResponseFormatError","$$ArrayBuffer","Ignore","json","ignore","ResponseHeader","parallel","sequential","Applicative1","Control_Alternative","Control_Parallel_Class","parTraverse_","dictParallel","$17","$18","_jsonParser","succ","Data_Show","OPTIONS","GET","HEAD","POST","PUT","DELETE","TRACE","CONNECT","PROPFIND","PROPPATCH","MKCOL","COPY","MOVE","LOCK","UNLOCK","PATCH","unCustomMethod","showMethod","print","nullable","r","notNull","toNullable","Aff","EMPTY","PURE","THROW","CATCH","SYNC","ASYNC","BIND","BRACKET","FORK","SEQ","MAP","APPLY","ALT","CONS","RESUME","RELEASE","FINALIZER","FINALIZED","FORKED","_1","_2","_3","AffCtr","nonCanceler","runEff","eff","runSync","left","right","runAsync","Scheduler","limit","size","ix","drain","thunk","isDraining","enqueue","cb","tmp","SUSPENDED","CONTINUE","STEP_BIND","STEP_RESULT","PENDING","RETURN","COMPLETED","Fiber","util","supervisor","aff","runTick","step","interrupt","bhead","btail","attempts","bracketCount","joinId","joins","rethrow","localRunTick","attempt","isLeft","fromRight","register","fromLeft","killed","failed","completed","handler","onComplete","jid","kill","canceler","isSuspended","runPar","par","fiberId","fibers","killId","kills","early","kid","head","tail","loop","resolve","fiber","lhs","rhs","fid","killError","killCb","cancel","innerKills","newKills","Pure","Throw","Catch","Sync","Async","Bracket","Fork","Seq","ParMap","ParApply","ParAlt","Supervisor","isEmpty","killAll","killCount","_pure","_throwError","_catchError","_map","_bind","_fork","immediate","_liftEffect","_parAffMap","_parAffApply","aff1","aff2","makeAff","generalBracket","acquire","_makeFiber","_sequential","unsafePerformEffect","Control_Monad_Rec_Class","Effect_Class","Effect_Unsafe","Partial_Unsafe","Unsafe_Coerce","Canceler","suspendAff","functorParAff","functorAff","forkAff","ffiUtil","unsafeCrashWith","makeFiber","launchAff","bracket","applyParAff","monadAff","applicativeAff","bindAff","applyAff","monadEffectAff","MonadEffect","effectCanceler","$50","joinFiber","functorFiber","monadThrowAff","monadErrorAff","MonadError","runAff","$52","parallelAff","Parallel","applicativeParAff","$54","monadRecAff","$49","fin","Effect_Aff","$4","$5","k2","$6","$7","Affjax_RequestBody","Affjax_RequestHeader","Affjax_ResponseFormat","Affjax_ResponseHeader","Control_Monad_Except","Data_Argonaut_Parser","Data_Array","Data_FormURLEncoded","Data_HTTP_Method","Data_Nullable","Effect_Aff_Compat","Foreign","defaultRequest","responseFormat","req","parseJSON","reqContent","fromResponse$prime","composeKleisliFlipped","$67","$66","jsonParser","addHeader","mh","hs","any","req$prime","h","toMediaType","toResponseType","fromEffectFnAff","runExcept","moment","_app","app","_mmoment8601","just","nothing","ISO_8601","fromNow","_closeWindow","close","unsafeReadPropImpl","readProp","Data_Symbol","Record_Unsafe","dictIsSymbol","dictCons","copyRecord","copy","unsafeInsert","semigroupoidBuilder","categoryBuilder","dictLacks","Record","Record_Builder","Type_Data_RowList","WriteForeign","writeImpl","WriteForeignFields","writeImplFields","writeForeignString","writeForeignInt","writeForeignBoolean","nilWriteForeignFields","dictWriteForeign","$85","$87","toMaybe","dictRowToList","dictWriteForeignFields","steps","build","dictCons1","rest","get","insert","Simple_JSON","usersettings_wfI","recordWriteForeign","consWriteForeignFields","IsSymbol","note_wfI","bookmark_wfI","writeForeignNullable","_querySelector","selector","node","querySelector","qs","$3","eventListener","event","_currentTarget","currentTarget","preventDefault","toCharCode","Data_Bounded","Enum","pred","BoundedEnum","Bounded0","Enum1","cardinality","fromEnum","toEnum","defaultSucc","toEnum$prime","fromEnum$prime","defaultPred","charToEnum","enumChar","boundedEnumChar","dictBoundedEnum","low","high","_read","removeAttribute","element","toNode","toElement","toParentNode","toDocument","location","setHref","search","reload","document","win","Affjax","Globals","Model","Web_HTML","Web_HTML_Location","Web_HTML_Window","Star","UnStar","showStar","fetchUrl","rt","request","csrfHeaderName","csrfToken","fetchPath","path","homeR","fetchUrlEnc","fetchJson","writeJSON","bid","action","bm","nid","us","authRlogoutR","InputButton","InputCheckbox","InputColor","InputDate","InputDatetimeLocal","InputEmail","InputFile","InputHidden","InputImage","InputMonth","InputNumber","InputPassword","InputRadio","InputRange","InputReset","InputSearch","InputSubmit","InputTel","InputText","InputTime","InputUrl","InputWeek","Profunctor","dimap","profunctorFn","a2b","c2d","b2c","$9","dictProfunctor","Data_Profunctor","Strong","Profunctor0","first","second","strongFn","Data_Profunctor_Strong","Forget","profunctorForget","$27","strongForget","$28","$29","newtypeForget","Control_Monad_State_Class","Data_Lens_Internal_Forget","view","viewOn","gets","set","dictStrong","lens$prime","to","pab","over","MonadAff","MonadEffect0","liftAff","monadAffAff","runExists","mkExists","Data_Exists","CoyonedaF","Coyoneda","coyoneda","fi","functorCoyoneda","$84","liftCoyoneda","Leaf","Two","value2","value3","Three","value4","value5","value6","TwoLeft","TwoRight","ThreeLeft","ThreeMiddle","ThreeRight","KickUp","values","comp","v3","v4","functorMap","fromZipper","$copy_dictOrd","$copy_tree","$tco_var_dictOrd","$tco_var_v","tree","up","$copy_ctx","$copy_v1","$copy_v2","$tco_var_v1","down","$tco_var_ctx","ctx","$copy_ctxs","$tco_var_ctxs","ctxs","removeMaxNode","$copy_m","maxNode","max","leaves","foldableMap","$$delete","OrdBox","eqOrdBox","ordOrdBox","Data_Map_Internal","Halogen_Data_OrdBox","sym","ordTuple","mkOrdBox","$37","Lift","Ap","mkAp","fba","fb","liftFreeAp","goLeft","$copy_dictApplicative","$copy_fStack","$copy_valStack","$copy_nat","$copy_func","$copy_count","$tco_var_dictApplicative","$tco_var_fStack","$tco_var_valStack","$tco_var_nat","$tco_var_func","fStack","valStack","nat","func","goApply","$copy_vals","$copy_gVal","$tco_var_vals","vals","gVal","gRes","functorFreeAp","foldFreeAp","nextVals","applyFreeAp","applicativeFreeAp","Data_List","CatQueue","Data_CatQueue","CatNil","CatCons","semigroupCatList","cat","q","$copy_xs","$copy_c","$tco_var_c","$copy_ys","$tco_var_xs","uncons","Data_CatList","Free","Return","fromView","freeMonad","freeApplicative","freeBind","freeFunctor","$118","freeApply","$119","$120","dictMonadRec","runExpF","concatF","toView","$127","unChildQueryBox","Control_Monad_Trans_Class","Bound","FreeT","freeT","bound","functorFreeT","$104","monadFreeT","applicativeFreeT","bindFreeT","applyFreeT","resume","fa","interp","MonadTrans","ma","Control_Monad_Free_Trans","Emit","profunctorAwait","me","monadRecFreeT","fuseWithL","dictFunctor2","zap","gs","fuseWith","lift2","functorAwait","rmap","bifunctorEmit","functorEmit","o","liftFreeT","runFreeT","$186","recv","monadTransFreeT","voidLeft","AVar","MutableQueue","last","MutableCell","prev","takes","reads","puts","takeLast","takeHead","putLast","deleteCell","drainVar","avar","ps","rsize","ts","rs","_killVar","_putVar","_takeVar","Killed","Filled","Empty","filled","Effect_AVar","take","put","$11","RefUpdate","Action","Control_Monad_Free","Effect_Aff_Class","State","Subscribe","Unsubscribe","ChildQuery","Raise","Par","Kill","GetRef","HalogenM","ordSubscriptionId","ordForkId","monadHalogenM","monadStateHalogenM","MonadState","$132","liftF","monadEffectHalogenM","dictMonadEffect","$135","functorHalogenM","bindHalogenM","applicativeHalogenM","dictMonadAff","$136","Initialize","Finalize","Receive","Query","Step","unStep","mkStep","extract","Text","Elem","Keyed","Widget","Grafted","Graft","unGraft","$45","graft","bifunctorGraft","$47","$48","runGraft","unsafeGetAny","unsafeHasAny","unsafeSetAny","forE","forEachE","forInE","ks","keys","diffWithIxE","a1","a2","f1","f2","f3","a3","l2","strMapWithIxE","as","fk","diffWithKeyAndIxE","o1","o2","createTextNode","doc","setTextContent","textContent","createElement","ns","createElementNS","insertChildIx","childNodes","insertBefore","removeChild","parentNode","setAttribute","attr","el","setAttributeNS","removeAttributeNS","addEventListener","ev","listener","removeEventListener","jsUndefined","getEffProp","_parentNode","_nextSibling","node1","node2","parent","appendChild","$2","Foreign_Object_ST","unsafeLookup","unsafeFreeze","pokeMutMap","newMutMap","Halogen_VDom_Machine","Halogen_VDom_Types","Halogen_VDom_Util","Web_DOM_Element","haltWidget","halt","widget","patchWidget","vdom","res$prime","haltText","patchText","nextState","haltKeyed","children","attrs","haltElem","eqElemSpec","ns1","ns2","patchElem","onThis","patchKeyed","ix$prime","v5","buildWidget","w","buildText","buildKeyed","name1","as1","ch1","buildAttributes","buildElem","child","spec","Halogen_VDom_DOM","runThunk","Thunk","toVDom","haltThunk","patchThunk","t2","unsafeEqThunk","renderThunk","buildVDom","Data_Coyoneda","Halogen_Data_Slot","Halogen_Query_HalogenM","Halogen_Query_HalogenQ","ComponentSlot","ThunkSlot","unComponentSlot","unComponent","mkComponentSlot","mkComponent","defaultEval","handleAction","handleQuery","receive","initialize","finalize","unCoyoneda","$23","input","component","ButtonButton","ButtonSubmit","ButtonReset","On","Off","Web_Event_EventTarget","Created","Removed","Attribute","Property","Handler","Ref","unsafeGetProperty","setProperty","propToStrKey","propFromString","propFromInt","propFromBoolean","removeProp","prevEvents","removeProperty","mbEmit","haltProp","props","applyProp","events","patchProp","ps2","onThese","v11","$61","elVal","$70","onThat","renderProp","ps1","DOM_HTML_Indexed_ButtonType","DOM_HTML_Indexed_InputType","DOM_HTML_Indexed_OnOff","Halogen_VDom_DOM_Prop","HTML","ClassName","IsProp","toPropValue","newtypeHTML","newtypeClassName","isPropString","isPropOnOff","$35","renderOnOff","isPropInt","isPropInputType","$40","renderInputType","isPropButtonType","renderButtonType","isPropBoolean","$26","dictIsProp","Halogen_HTML_Core","Halogen_Query_Input","$10","mel","prop","required","rows","id_","$$for","autofocus","$13","form","span","tbody","tbody_","td","td_","tr","tr_","div_","button","br_","es","Halogen_Component","outputQuery","slot","componentSlot","Foreign_Index","Web_Event_Event","Web_HTML_Event_EventTypes","Web_UIEvent_MouseEvent_EventTypes","mouseHandler","et","onSubmit","addForeignPropHandler","reader","composeKleisli","onChecked","change","onValueChange","click","hasArrayFrom","from","hasStringIterator","Symbol","iterator","hasFromCodePoint","fromCodePoint","hasCodePointAt","codePointAt","_unsafeCodePointAt0","fallback","_singleton","_take","accum","iter","_toCodePointArray","unsafeCodePointAt0","Data_Enum","Data_EuclideanRing","Data_String_CodeUnits","Data_String_Unsafe","Data_Unfoldable","unsurrogate","lead","trail","isTrail","cu","isLead","cu1","cu0","unconsButWithTuple","$25","toCodePointArray","$53","toEnumWithDefaults","takeFallback","Data_String_CodePoints","Halogen_HTML_Properties","_parseQueryString","srh","decode","srh$prime","$59","mapMaybe","kv","_loc","$58","class_","find","$57","fromMaybe","App","Data_Lens_Getter","Data_Lens_Lens","Data_Lens_Setter","Halogen_HTML_Elements","Halogen_HTML_Events","Util","EarchiveDefault","EprivateDefault","EprivacyLock","UEditField","USubmit","_us","lens","u$prime","render","initialState","editField","type_","archiveDefault","privateDefault","privacyLock","mkEval","modifying","use","monadAffHalogenM","editAccountSettings","Eurl","Etitle","Edescription","Etags","Eprivate","Etoread","BEditField","BEditSubmit","BDeleteAsk","BDestroy","_edit_bm","edit_bm","deleteAsk","destroyed","_bm","b$prime","toTextarea","mmoment","mmoment8601","time","display_exists","onClick","guard","display_edit","$60","textarea","description","autocomplete","tags","toread","display_destroyed","modify_","$36","destroy","$41","selected","archiveUrl","editBookmark","assign","closeWindow","BNotifyRemove","BStar","BEdit","BMarkRead","_edit","mkState","star","dat","isowner","linkToFilterTag","fromNullableStr","userR","$65","display","monoidFn","toggleStar","$42","raise","markRead","Component_BMark","Halogen_HTML","HandleBMessage","_bookmark","st","bms","bmark","unsafeSetInnerHTML","innerHTML","Web_HTML_HTMLElement","fromElement","getRef","Halogen_Query","SetInnerHTML","toRawHTML","inputval","elRef","getHTMLElementRef","for_","$12","$16","markedImpl","RawHTML","Component_RawHtml","Foreign_Marked","st$prime","notes$prime","created","linkToFilterSingle","notes","cur","Component_Markdown","Data_Void","Etext","EisMarkdown","NNop","NEditField","NEditSubmit","NEdit","NDeleteAsk","NDestroy","_note","note","edit_note","_markdown","_edit_note","note$prime","renderNote","isMarkdown","absurd","renderNote_edit","updated","$43","destroyNote","editNote","$56","noteR","MonadFork","Functor1","fork","suspend","monadForkAff","warn","unRenderStateX","unDriverStateX","mkRenderStateX","mkDriverStateXRef","rendering","lchs","v6","v7","v8","v9","ds","refs","childrenIn","childrenOut","selfRef","handlerRef","pendingQueries","pendingOuts","pendingHandlers","fresh","subscriptions","forks","lifecycleHandlers","reallyUnsafeRefEq","unsafeRefEq","Control_Applicative_Free","Control_Coroutine","Control_Monad_Fork_Class","Control_Parallel","Effect_Exception","Halogen_Aff_Driver_State","Halogen_Query_ChildQuery","Halogen_Query_EventSource","Unsafe_Reference","queueOrRun","au","handleLifecycle","initializers","finalizers","parSequence_","evalQ","evalM","initRef","evalChildQuery","foldFree","SubscriptionId","when","member","finalizer","consumer","eqMaybe","evalF","runProcess","pullFrom","producer","sid","cqb","retractFreeAp","hoistFreeAp","$111","ForkId","unlessM","killFiber","mapDriverState","alter","Effect_Aff_AVar","Effect_Console","Halogen_Aff_Driver_Eval","newLifecycleHandlers","handleAff","runAff_","handlePending","$79","renderSpec","subscribe","runComponent","initDriverState","$83","preInits","parentInitializer","handlers","squashChildInitializers","renderChild","childrenInRef","childrenOutRef","$86","renderStateX","$$var","$89","$88","foreachSlot","renderStateX_","ds$prime","$90","$69","$81","$82","dispose","disposed","dsx","subsRef","$91","launchAff_","$92","query","connect","Web_DOM_ParentNode","Web_HTML_HTMLDocument","runHalogenAff","Halogen_Aff_Driver","Halogen_VDom_Thunk","Web_DOM_Node","pn","container","renderChildRef","getNode","buildThunk","renderComponentSlot","cs","patch","buildProp","mkSpec","machine","nextSibling","newNode","heytingAlgebraFunction","substInParent","runUI","_mainImpl","Component_AccountSettings","Component_Add","Component_BList","Component_NList","Component_NNote","Halogen_Aff_Util","Halogen_VDom_Driver","showFooter","selectElement","main","logout","renderElSelector","bmarks","blist","addbmark","nlist","nnote","accountSettings","usetting"],"mappings":"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","file":"app.min.map","sourceRoot":"","sourcesContent":["//! moment.js\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks () {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback (callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]';\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return input != null && Object.prototype.toString.call(input) === '[object Object]';\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return (Object.getOwnPropertyNames(obj).length === 0);\n } else {\n var k;\n for (k in obj) {\n if (obj.hasOwnProperty(k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]';\n }\n\n function isDate(input) {\n return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]';\n }\n\n function map(arr, fn) {\n var res = [], i;\n for (i = 0; i < arr.length; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC (input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty : false,\n unusedTokens : [],\n unusedInput : [],\n overflow : -2,\n charsLeftOver : 0,\n nullInput : false,\n invalidMonth : null,\n invalidFormat : false,\n userInvalidated : false,\n iso : false,\n parsedDateParts : [],\n meridiem : null,\n rfc2822 : false,\n weekdayMismatch : false\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this);\n var len = t.length >>> 0;\n\n for (var i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m);\n var parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n });\n var isNowValid = !isNaN(m._d.getTime()) &&\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n\n if (m._strict) {\n isNowValid = isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n }\n else {\n return isNowValid;\n }\n }\n return m._isValid;\n }\n\n function createInvalid (flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n }\n else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = hooks.momentProperties = [];\n\n function copyConfig(to, from) {\n var i, prop, val;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentProperties.length > 0) {\n for (i = 0; i < momentProperties.length; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n var updateInProgress = false;\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment (obj) {\n return obj instanceof Moment || (obj != null && obj._isAMomentObject != null);\n }\n\n function absFloor (number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if ((dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n function warn(msg) {\n if (hooks.suppressDeprecationWarnings === false &&\n (typeof console !== 'undefined') && console.warn) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [];\n var arg;\n for (var i = 0; i < arguments.length; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (var key in arguments[0]) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(msg + '\\nArguments: ' + Array.prototype.slice.call(args).join('') + '\\n' + (new Error()).stack);\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n }\n\n function set (config) {\n var prop, i;\n for (i in config) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' + (/\\d{1,2}/).source);\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig), prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i, res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n };\n\n function calendar (key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n var defaultLongDateFormat = {\n LTS : 'h:mm:ss A',\n LT : 'h:mm A',\n L : 'MM/DD/YYYY',\n LL : 'MMMM D, YYYY',\n LLL : 'MMMM D, YYYY h:mm A',\n LLLL : 'dddd, MMMM D, YYYY h:mm A'\n };\n\n function longDateFormat (key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) {\n return val.slice(1);\n });\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate () {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d';\n var defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal (number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n };\n\n function relativeTime (number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return (isFunction(output)) ?\n output(number, withoutSuffix, string, isFuture) :\n output.replace(/%d/i, number);\n }\n\n function pastFuture (diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {};\n\n function addUnitAlias (unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n }\n\n function normalizeUnits(units) {\n return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {};\n\n function addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n }\n\n function getPrioritizedUnits(unitsObj) {\n var units = [];\n for (var u in unitsObj) {\n units.push({unit: u, priority: priorities[u]});\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;\n }\n\n var formattingTokens = /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g;\n\n var localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g;\n\n var formatFunctions = {};\n\n var formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken (token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(func.apply(this, arguments), token);\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens), i, length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '', i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i]) ? array[i].call(mom, format) : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var match1 = /\\d/; // 0 - 9\n var match2 = /\\d\\d/; // 00 - 99\n var match3 = /\\d{3}/; // 000 - 999\n var match4 = /\\d{4}/; // 0000 - 9999\n var match6 = /[+-]?\\d{6}/; // -999999 - 999999\n var match1to2 = /\\d\\d?/; // 0 - 99\n var match3to4 = /\\d\\d\\d\\d?/; // 999 - 9999\n var match5to6 = /\\d\\d\\d\\d\\d\\d?/; // 99999 - 999999\n var match1to3 = /\\d{1,3}/; // 0 - 999\n var match1to4 = /\\d{1,4}/; // 0 - 9999\n var match1to6 = /[+-]?\\d{1,6}/; // -999999 - 999999\n\n var matchUnsigned = /\\d+/; // 0 - inf\n var matchSigned = /[+-]?\\d+/; // -inf - inf\n\n var matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi; // +00:00 -00:00 +0000 -0000 or Z\n var matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n\n var matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/; // 123456789 123456789.123\n\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n var matchWord = /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i;\n\n var regexes = {};\n\n function addRegexToken (token, regex, strictRegex) {\n regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) {\n return (isStrict && strictRegex) ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken (token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(s.replace('\\\\', '').replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g, function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }));\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n var tokens = {};\n\n function addParseToken (token, callback) {\n var i, func = callback;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n for (i = 0; i < token.length; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken (token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n var YEAR = 0;\n var MONTH = 1;\n var DATE = 2;\n var HOUR = 3;\n var MINUTE = 4;\n var SECOND = 5;\n var MILLISECOND = 6;\n var WEEK = 7;\n var WEEKDAY = 8;\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? '' + y : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // ALIASES\n\n addUnitAlias('year', 'y');\n\n // PRIORITIES\n\n addUnitPriority('year', 1);\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear () {\n return isLeapYear(this.year());\n }\n\n function makeGetSet (unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get (mom, unit) {\n return mom.isValid() ?\n mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN;\n }\n\n function set$1 (mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (unit === 'FullYear' && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month()));\n }\n else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n }\n\n // MOMENTS\n\n function stringGet (units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n\n function stringSet (units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units);\n for (var i = 0; i < prioritized.length; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1 ? (isLeapYear(year) ? 29 : 28) : (31 - modMonth % 7 % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // ALIASES\n\n addUnitAlias('month', 'M');\n\n // PRIORITY\n\n addUnitPriority('month', 8);\n\n // PARSING\n\n addRegexToken('M', match1to2);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/;\n var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_');\n function localeMonths (m, format) {\n if (!m) {\n return isArray(this._months) ? this._months :\n this._months['standalone'];\n }\n return isArray(this._months) ? this._months[m.month()] :\n this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()];\n }\n\n var defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_');\n function localeMonthsShort (m, format) {\n if (!m) {\n return isArray(this._monthsShort) ? this._monthsShort :\n this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort) ? this._monthsShort[m.month()] :\n this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i, ii, mom, llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse (monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i');\n this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i');\n }\n if (!strict && !this._monthsParse[i]) {\n regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) {\n return i;\n } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth (mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\n }\n\n function getSetMonth (value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth () {\n return daysInMonth(this.year(), this.month());\n }\n\n var defaultMonthsShortRegex = matchWord;\n function monthsShortRegex (isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict ?\n this._monthsShortStrictRegex : this._monthsShortRegex;\n }\n }\n\n var defaultMonthsRegex = matchWord;\n function monthsRegex (isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict ?\n this._monthsStrictRegex : this._monthsRegex;\n }\n }\n\n function computeMonthsParse () {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [], longPieces = [], mixedPieces = [],\n i, mom;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n }\n\n function createDate (y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date;\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n }\n\n function createUTCDate (y) {\n var date;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n var args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear, resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek, resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // ALIASES\n\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W');\n\n // PRIORITIES\n\n addUnitPriority('week', 5);\n addUnitPriority('isoWeek', 5);\n\n // PARSING\n\n addRegexToken('w', match1to2);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n });\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek (mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 6th is the first week of the year.\n };\n\n function localeFirstDayOfWeek () {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear () {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek (input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek (input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // ALIASES\n\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E');\n\n // PRIORITY\n addUnitPriority('day', 11);\n addUnitPriority('weekday', 11);\n addUnitPriority('isoWeekday', 11);\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n function shiftWeekdays (ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_');\n function localeWeekdays (m, format) {\n var weekdays = isArray(this._weekdays) ? this._weekdays :\n this._weekdays[(m && m !== true && this._weekdays.isFormat.test(format)) ? 'format' : 'standalone'];\n return (m === true) ? shiftWeekdays(weekdays, this._week.dow)\n : (m) ? weekdays[m.day()] : weekdays;\n }\n\n var defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_');\n function localeWeekdaysShort (m) {\n return (m === true) ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n : (m) ? this._weekdaysShort[m.day()] : this._weekdaysShort;\n }\n\n var defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_');\n function localeWeekdaysMin (m) {\n return (m === true) ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n : (m) ? this._weekdaysMin[m.day()] : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i, ii, mom, llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse (weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$', 'i');\n this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$', 'i');\n this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$', 'i');\n }\n if (!this._weekdaysParse[i]) {\n regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek (input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n var defaultWeekdaysRegex = matchWord;\n function weekdaysRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict ?\n this._weekdaysStrictRegex : this._weekdaysRegex;\n }\n }\n\n var defaultWeekdaysShortRegex = matchWord;\n function weekdaysShortRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict ?\n this._weekdaysShortStrictRegex : this._weekdaysShortRegex;\n }\n }\n\n var defaultWeekdaysMinRegex = matchWord;\n function weekdaysMinRegex (isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict ?\n this._weekdaysMinStrictRegex : this._weekdaysMinRegex;\n }\n }\n\n\n function computeWeekdaysParse () {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [],\n i, mom, minp, shortp, longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = this.weekdaysMin(mom, '');\n shortp = this.weekdaysShort(mom, '');\n longp = this.weekdays(mom, '');\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 7; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i');\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2);\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2);\n });\n\n function meridiem (token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // ALIASES\n\n addUnitAlias('hour', 'h');\n\n // PRIORITY\n addUnitPriority('hour', 13);\n\n // PARSING\n\n function matchMeridiem (isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2);\n addRegexToken('h', match1to2);\n addRegexToken('k', match1to2);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4;\n var pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4;\n var pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM (input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return ((input + '').toLowerCase().charAt(0) === 'p');\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i;\n function localeMeridiem (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n\n // MOMENTS\n\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n var getSetHour = makeGetSet('Hours', true);\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse\n };\n\n // internal storage for locale config files\n var locales = {};\n var localeFamilies = {};\n var globalLocale;\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0, j, next, locale, split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function loadLocale(name) {\n var oldLocale = null;\n // TODO: Find a better way to register and load all the locales in Node\n if (!locales[name] && (typeof module !== 'undefined') &&\n module && module.exports) {\n try {\n oldLocale = globalLocale._abbr;\n var aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {}\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale (key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n }\n else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n }\n else {\n if ((typeof console !== 'undefined') && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn('Locale ' + key + ' not found. Did you forget to load it?');\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale (name, config) {\n if (config !== null) {\n var locale, parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple('defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.');\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale, tmpLocale, parentConfig = baseConfig;\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale (key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow (m) {\n var overflow;\n var a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11 ? MONTH :\n a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE :\n a[HOUR] < 0 || a[HOUR] > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR :\n a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE :\n a[SECOND] < 0 || a[SECOND] > 59 ? SECOND :\n a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND :\n -1;\n\n if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray (config) {\n var i, date, input = [], currentDate, expectedWeekday, yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);\n expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== expectedWeekday) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year);\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n var curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\n var basicIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\n\n var tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/;\n\n var isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n // YYYYMM is NOT allowed by the standard\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/]\n ];\n\n // iso time formats and regexes\n var isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/]\n ];\n\n var aspNetJsonRegex = /^\\/?Date\\((\\-?\\d+)/i;\n\n // date from iso format\n function configFromISO(config) {\n var i, l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime, dateFormat, timeFormat, tzFormat;\n\n if (match) {\n getParsingFlags(config).iso = true;\n\n for (i = 0, l = isoDates.length; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimes.length; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n var rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/;\n\n function extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10)\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s.replace(/\\([^)]*\\)|[\\n\\t]/g, ' ').replace(/(\\s\\s+)/g, ' ').replace(/^\\s\\s*/, '').replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an indepentent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n var obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60\n };\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10);\n var m = hm % 100, h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i));\n if (match) {\n var parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]);\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from iso format or fallback\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged and will be removed in an upcoming major release. Please refer to ' +\n 'http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i, parsedInput, tokens, token, skipped,\n stringLength = string.length,\n totalParsedInputLength = 0;\n\n tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];\n\n for (i = 0; i < tokens.length; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];\n // console.log('token', token, 'parsedInput', parsedInput,\n // 'regex', getParseRegexForToken(token, config));\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(string.indexOf(parsedInput) + parsedInput.length);\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n }\n else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n }\n else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem);\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n\n function meridiemFixWrap (locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n\n scoreToBeat,\n i,\n currentScore;\n\n if (config._f.length === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < config._f.length; i++) {\n currentScore = 0;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (!isValid(tempConfig)) {\n continue;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (scoreToBeat == null || currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i);\n config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) {\n return obj && parseInt(obj, 10);\n });\n\n configFromArray(config);\n }\n\n function createFromConfig (config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig (config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({nullInput: true});\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC (input, format, locale, strict, isUTC) {\n var c = {};\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if ((isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal (input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n var prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min () {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max () {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +(new Date());\n };\n\n var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond'];\n\n function isDurationValid(m) {\n for (var key in m) {\n if (!(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) {\n return false;\n }\n }\n\n var unitHasDecimal = false;\n for (var i = 0; i < ordering.length; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration (duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds = +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days +\n weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months +\n quarters * 3 +\n years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration (obj) {\n return obj instanceof Duration;\n }\n\n function absRound (number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // FORMATTING\n\n function offset (token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset();\n var sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2);\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher);\n\n if (matches === null) {\n return null;\n }\n\n var chunk = matches[matches.length - 1] || [];\n var parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n var minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ?\n 0 :\n parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset (m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset() / 15) * 15;\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset (input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(this, createDuration(input - offset, 'm'), 1, false);\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone (input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC (keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal (keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset () {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n }\n else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset (input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime () {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted () {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {};\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n var other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted = this.isValid() &&\n compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal () {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset () {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc () {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(\\-|\\+)?(?:(\\d*)[. ])?(\\d+)\\:(\\d+)(?:\\:(\\d+)(\\.\\d*)?)?$/;\n\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n var isoRegex = /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration (input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms : input._milliseconds,\n d : input._days,\n M : input._months\n };\n } else if (isNumber(input)) {\n duration = {};\n if (key) {\n duration[key] = input;\n } else {\n duration.milliseconds = input;\n }\n } else if (!!(match = aspNetRegex.exec(input))) {\n sign = (match[1] === '-') ? -1 : 1;\n duration = {\n y : 0,\n d : toInt(match[DATE]) * sign,\n h : toInt(match[HOUR]) * sign,\n m : toInt(match[MINUTE]) * sign,\n s : toInt(match[SECOND]) * sign,\n ms : toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match\n };\n } else if (!!(match = isoRegex.exec(input))) {\n sign = (match[1] === '-') ? -1 : 1;\n duration = {\n y : parseIso(match[2], sign),\n M : parseIso(match[3], sign),\n w : parseIso(match[4], sign),\n d : parseIso(match[5], sign),\n h : parseIso(match[6], sign),\n m : parseIso(match[7], sign),\n s : parseIso(match[8], sign)\n };\n } else if (duration == null) {// checks for null or undefined\n duration = {};\n } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) {\n diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to));\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso (inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n\n res.months = other.month() - base.month() +\n (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +(base.clone().add(res.months, 'M'));\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return {milliseconds: 0, months: 0};\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.');\n tmp = val; val = period; period = tmp;\n }\n\n val = typeof val === 'string' ? +val : val;\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract (mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add');\n var subtract = createAdder(-1, 'subtract');\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6 ? 'sameElse' :\n diff < -1 ? 'lastWeek' :\n diff < 0 ? 'lastDay' :\n diff < 1 ? 'sameDay' :\n diff < 2 ? 'nextDay' :\n diff < 7 ? 'nextWeek' : 'sameElse';\n }\n\n function calendar$1 (time, formats) {\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse';\n\n var output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]);\n\n return this.format(output || this.localeData().calendar(format, this, createLocal(now)));\n }\n\n function clone () {\n return new Moment(this);\n }\n\n function isAfter (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween (from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (inclusivity[0] === '(' ? this.isAfter(localFrom, units) : !this.isBefore(localFrom, units)) &&\n (inclusivity[1] === ')' ? this.isBefore(localTo, units) : !this.isAfter(localTo, units));\n }\n\n function isSame (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf();\n }\n }\n\n function isSameOrAfter (input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore (input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff (input, units, asFloat) {\n var that,\n zoneDelta,\n output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year': output = monthDiff(this, that) / 12; break;\n case 'month': output = monthDiff(this, that); break;\n case 'quarter': output = monthDiff(this, that) / 3; break;\n case 'second': output = (this - that) / 1e3; break; // 1000\n case 'minute': output = (this - that) / 6e4; break; // 1000 * 60\n case 'hour': output = (this - that) / 36e5; break; // 1000 * 60 * 60\n case 'day': output = (this - that - zoneDelta) / 864e5; break; // 1000 * 60 * 60 * 24, negate dst\n case 'week': output = (this - that - zoneDelta) / 6048e5; break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default: output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff (a, b) {\n // difference in months\n var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2, adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString () {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true;\n var m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(m, utc ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000).toISOString().replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(m, utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect () {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment';\n var zone = '';\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n var prefix = '[' + func + '(\"]';\n var year = (0 <= this.year() && this.year() <= 9999) ? 'YYYY' : 'YYYYYY';\n var datetime = '-MM-DD[T]HH:mm:ss.SSS';\n var suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format (inputString) {\n if (!inputString) {\n inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from (time, withoutSuffix) {\n if (this.isValid() &&\n ((isMoment(time) && time.isValid()) ||\n createLocal(time).isValid())) {\n return createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow (withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to (time, withoutSuffix) {\n if (this.isValid() &&\n ((isMoment(time) && time.isValid()) ||\n createLocal(time).isValid())) {\n return createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow (withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale (key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData () {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000;\n var MS_PER_MINUTE = 60 * MS_PER_SECOND;\n var MS_PER_HOUR = 60 * MS_PER_MINUTE;\n var MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n // actual modulo - handles negative numbers (for dates before 1970):\n function mod$1(dividend, divisor) {\n return (dividend % divisor + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf (units) {\n var time;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n var startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(this.year(), this.month() - this.month() % 3, 1);\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(this.year(), this.month(), this.date() - this.weekday());\n break;\n case 'isoWeek':\n time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1));\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR);\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf (units) {\n var time;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n var startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time = startOfDate(this.year(), this.month() - this.month() % 3 + 3, 1) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time = startOfDate(this.year(), this.month(), this.date() - this.weekday() + 7) - 1;\n break;\n case 'isoWeek':\n time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1) + 7) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time += MS_PER_HOUR - mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR) - 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf () {\n return this._d.valueOf() - ((this._offset || 0) * 60000);\n }\n\n function unix () {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate () {\n return new Date(this.valueOf());\n }\n\n function toArray () {\n var m = this;\n return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];\n }\n\n function toObject () {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds()\n };\n }\n\n function toJSON () {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2 () {\n return isValid(this);\n }\n\n function parsingFlags () {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt () {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict\n };\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken (token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG');\n\n // PRIORITY\n\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1);\n\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n });\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear (input) {\n return getSetWeekYearHelper.call(this,\n input,\n this.week(),\n this.weekday(),\n this.localeData()._week.dow,\n this.localeData()._week.doy);\n }\n\n function getSetISOWeekYear (input) {\n return getSetWeekYearHelper.call(this,\n input, this.isoWeek(), this.isoWeekday(), 1, 4);\n }\n\n function getISOWeeksInYear () {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getWeeksInYear () {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // ALIASES\n\n addUnitAlias('quarter', 'Q');\n\n // PRIORITY\n\n addUnitPriority('quarter', 7);\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter (input) {\n return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // ALIASES\n\n addUnitAlias('date', 'D');\n\n // PRIORITY\n addUnitPriority('date', 9);\n\n // PARSING\n\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict ?\n (locale._dayOfMonthOrdinalParse || locale._ordinalParse) :\n locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD');\n\n // PRIORITY\n addUnitPriority('dayOfYear', 4);\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear (input) {\n var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1;\n return input == null ? dayOfYear : this.add((input - dayOfYear), 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // ALIASES\n\n addUnitAlias('minute', 'm');\n\n // PRIORITY\n\n addUnitPriority('minute', 14);\n\n // PARSING\n\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // ALIASES\n\n addUnitAlias('second', 's');\n\n // PRIORITY\n\n addUnitPriority('second', 15);\n\n // PARSING\n\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n\n // ALIASES\n\n addUnitAlias('millisecond', 'ms');\n\n // PRIORITY\n\n addUnitPriority('millisecond', 16);\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n // MOMENTS\n\n var getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr () {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName () {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);\n proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);\n proto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear);\n proto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone);\n proto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted);\n\n function createUnix (input) {\n return createLocal(input * 1000);\n }\n\n function createInZone () {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat (string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1 (format, index, field, setter) {\n var locale = getLocale();\n var utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl (format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i;\n var out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl (localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0;\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n var i;\n var out = [];\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths (format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort (format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (toInt(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n });\n\n // Side effect imports\n\n hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale);\n hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale);\n\n var mathAbs = Math.abs;\n\n function abs () {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1 (duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1 (input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1 (input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil (number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble () {\n var milliseconds = this._milliseconds;\n var days = this._days;\n var months = this._months;\n var data = this._data;\n var seconds, minutes, hours, years, monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (!((milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0))) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths (days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return days * 4800 / 146097;\n }\n\n function monthsToDays (months) {\n // the reverse of daysToMonths\n return months * 146097 / 4800;\n }\n\n function as (units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days;\n var months;\n var milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month': return months;\n case 'quarter': return months / 3;\n case 'year': return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week' : return days / 7 + milliseconds / 6048e5;\n case 'day' : return days + milliseconds / 864e5;\n case 'hour' : return days * 24 + milliseconds / 36e5;\n case 'minute' : return days * 1440 + milliseconds / 6e4;\n case 'second' : return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond': return Math.floor(days * 864e5) + milliseconds;\n default: throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n // TODO: Use this.as('ms')?\n function valueOf$1 () {\n if (!this.isValid()) {\n return NaN;\n }\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\n );\n }\n\n function makeAs (alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms');\n var asSeconds = makeAs('s');\n var asMinutes = makeAs('m');\n var asHours = makeAs('h');\n var asDays = makeAs('d');\n var asWeeks = makeAs('w');\n var asMonths = makeAs('M');\n var asQuarters = makeAs('Q');\n var asYears = makeAs('y');\n\n function clone$1 () {\n return createDuration(this);\n }\n\n function get$2 (units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds');\n var seconds = makeGetter('seconds');\n var minutes = makeGetter('minutes');\n var hours = makeGetter('hours');\n var days = makeGetter('days');\n var months = makeGetter('months');\n var years = makeGetter('years');\n\n function weeks () {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round;\n var thresholds = {\n ss: 44, // a few seconds to seconds\n s : 45, // seconds to minute\n m : 45, // minutes to hour\n h : 22, // hours to day\n d : 26, // days to month\n M : 11 // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1 (posNegDuration, withoutSuffix, locale) {\n var duration = createDuration(posNegDuration).abs();\n var seconds = round(duration.as('s'));\n var minutes = round(duration.as('m'));\n var hours = round(duration.as('h'));\n var days = round(duration.as('d'));\n var months = round(duration.as('M'));\n var years = round(duration.as('y'));\n\n var a = seconds <= thresholds.ss && ['s', seconds] ||\n seconds < thresholds.s && ['ss', seconds] ||\n minutes <= 1 && ['m'] ||\n minutes < thresholds.m && ['mm', minutes] ||\n hours <= 1 && ['h'] ||\n hours < thresholds.h && ['hh', hours] ||\n days <= 1 && ['d'] ||\n days < thresholds.d && ['dd', days] ||\n months <= 1 && ['M'] ||\n months < thresholds.M && ['MM', months] ||\n years <= 1 && ['y'] || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding (roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof(roundingFunction) === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold (threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize (withSuffix) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var locale = this.localeData();\n var output = relativeTime$1(this, !withSuffix, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return ((x > 0) - (x < 0)) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000;\n var days = abs$1(this._days);\n var months = abs$1(this._months);\n var minutes, hours, years;\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n var Y = years;\n var M = months;\n var D = days;\n var h = hours;\n var m = minutes;\n var s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n var total = this.asSeconds();\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n var totalSign = total < 0 ? '-' : '';\n var ymSign = sign(this._months) !== sign(total) ? '-' : '';\n var daysSign = sign(this._days) !== sign(total) ? '-' : '';\n var hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return totalSign + 'P' +\n (Y ? ymSign + Y + 'Y' : '') +\n (M ? ymSign + M + 'M' : '') +\n (D ? daysSign + D + 'D' : '') +\n ((h || m || s) ? 'T' : '') +\n (h ? hmsSign + h + 'H' : '') +\n (m ? hmsSign + m + 'M' : '') +\n (s ? hmsSign + s + 'S' : '');\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1);\n proto$2.lang = lang;\n\n // Side effect imports\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input, 10) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n // Side effect imports\n\n\n hooks.version = '2.24.0';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // \n DATE: 'YYYY-MM-DD', // \n TIME: 'HH:mm', // \n TIME_SECONDS: 'HH:mm:ss', // \n TIME_MS: 'HH:mm:ss.SSS', // \n WEEK: 'GGGG-[W]WW', // \n MONTH: 'YYYY-MM' // \n };\n\n return hooks;\n\n})));\n","/**\n * marked - a markdown parser\n * Copyright (c) 2011-2018, Christopher Jeffrey. (MIT Licensed)\n * https://github.com/markedjs/marked\n */\n\n;(function(root) {\n'use strict';\n\n/**\n * Block-Level Grammar\n */\n\nvar block = {\n newline: /^\\n+/,\n code: /^( {4}[^\\n]+\\n*)+/,\n fences: noop,\n hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)/,\n heading: /^ *(#{1,6}) *([^\\n]+?) *(?:#+ *)?(?:\\n+|$)/,\n nptable: noop,\n blockquote: /^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/,\n list: /^( {0,3})(bull) [\\s\\S]+?(?:hr|def|\\n{2,}(?! )(?!\\1bull )\\n*|\\s*$)/,\n html: '^ {0,3}(?:' // optional indentation\n + '<(script|pre|style)[\\\\s>][\\\\s\\\\S]*?(?:[^\\\\n]*\\\\n+|$)' // (1)\n + '|comment[^\\\\n]*(\\\\n+|$)' // (2)\n + '|<\\\\?[\\\\s\\\\S]*?\\\\?>\\\\n*' // (3)\n + '|\\\\n*' // (4)\n + '|\\\\n*' // (5)\n + '|)[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (6)\n + '|<(?!script|pre|style)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=\\\\h*\\\\n)[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) open tag\n + '|(?=\\\\h*\\\\n)[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) closing tag\n + ')',\n def: /^ {0,3}\\[(label)\\]: *\\n? *]+)>?(?:(?: +\\n? *| *\\n *)(title))? *(?:\\n+|$)/,\n table: noop,\n lheading: /^([^\\n]+)\\n *(=|-){2,} *(?:\\n+|$)/,\n paragraph: /^([^\\n]+(?:\\n(?!hr|heading|lheading| {0,3}>|<\\/?(?:tag)(?: +|\\n|\\/?>)|<(?:script|pre|style|!--))[^\\n]+)*)/,\n text: /^[^\\n]+/\n};\n\nblock._label = /(?!\\s*\\])(?:\\\\[\\[\\]]|[^\\[\\]])+/;\nblock._title = /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/;\nblock.def = edit(block.def)\n .replace('label', block._label)\n .replace('title', block._title)\n .getRegex();\n\nblock.bullet = /(?:[*+-]|\\d{1,9}\\.)/;\nblock.item = /^( *)(bull) ?[^\\n]*(?:\\n(?!\\1bull ?)[^\\n]*)*/;\nblock.item = edit(block.item, 'gm')\n .replace(/bull/g, block.bullet)\n .getRegex();\n\nblock.list = edit(block.list)\n .replace(/bull/g, block.bullet)\n .replace('hr', '\\\\n+(?=\\\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$))')\n .replace('def', '\\\\n+(?=' + block.def.source + ')')\n .getRegex();\n\nblock._tag = 'address|article|aside|base|basefont|blockquote|body|caption'\n + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption'\n + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe'\n + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option'\n + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr'\n + '|track|ul';\nblock._comment = //;\nblock.html = edit(block.html, 'i')\n .replace('comment', block._comment)\n .replace('tag', block._tag)\n .replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/)\n .getRegex();\n\nblock.paragraph = edit(block.paragraph)\n .replace('hr', block.hr)\n .replace('heading', block.heading)\n .replace('lheading', block.lheading)\n .replace('tag', block._tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\n\nblock.blockquote = edit(block.blockquote)\n .replace('paragraph', block.paragraph)\n .getRegex();\n\n/**\n * Normal Block Grammar\n */\n\nblock.normal = merge({}, block);\n\n/**\n * GFM Block Grammar\n */\n\nblock.gfm = merge({}, block.normal, {\n fences: /^ {0,3}(`{3,}|~{3,})([^`\\n]*)\\n(?:|([\\s\\S]*?)\\n)(?: {0,3}\\1[~`]* *(?:\\n+|$)|$)/,\n paragraph: /^/,\n heading: /^ *(#{1,6}) +([^\\n]+?) *#* *(?:\\n+|$)/\n});\n\nblock.gfm.paragraph = edit(block.paragraph)\n .replace('(?!', '(?!'\n + block.gfm.fences.source.replace('\\\\1', '\\\\2') + '|'\n + block.list.source.replace('\\\\1', '\\\\3') + '|')\n .getRegex();\n\n/**\n * GFM + Tables Block Grammar\n */\n\nblock.tables = merge({}, block.gfm, {\n nptable: /^ *([^|\\n ].*\\|.*)\\n *([-:]+ *\\|[-| :]*)(?:\\n((?:.*[^>\\n ].*(?:\\n|$))*)\\n*|$)/,\n table: /^ *\\|(.+)\\n *\\|?( *[-:]+[-| :]*)(?:\\n((?: *[^>\\n ].*(?:\\n|$))*)\\n*|$)/\n});\n\n/**\n * Pedantic grammar\n */\n\nblock.pedantic = merge({}, block.normal, {\n html: edit(\n '^ *(?:comment *(?:\\\\n|\\\\s*$)'\n + '|<(tag)[\\\\s\\\\S]+? *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n + '|\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))')\n .replace('comment', block._comment)\n .replace(/tag/g, '(?!(?:'\n + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub'\n + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)'\n + '\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b')\n .getRegex(),\n def: /^ *\\[([^\\]]+)\\]: *]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/\n});\n\n/**\n * Block Lexer\n */\n\nfunction Lexer(options) {\n this.tokens = [];\n this.tokens.links = Object.create(null);\n this.options = options || marked.defaults;\n this.rules = block.normal;\n\n if (this.options.pedantic) {\n this.rules = block.pedantic;\n } else if (this.options.gfm) {\n if (this.options.tables) {\n this.rules = block.tables;\n } else {\n this.rules = block.gfm;\n }\n }\n}\n\n/**\n * Expose Block Rules\n */\n\nLexer.rules = block;\n\n/**\n * Static Lex Method\n */\n\nLexer.lex = function(src, options) {\n var lexer = new Lexer(options);\n return lexer.lex(src);\n};\n\n/**\n * Preprocessing\n */\n\nLexer.prototype.lex = function(src) {\n src = src\n .replace(/\\r\\n|\\r/g, '\\n')\n .replace(/\\t/g, ' ')\n .replace(/\\u00a0/g, ' ')\n .replace(/\\u2424/g, '\\n');\n\n return this.token(src, true);\n};\n\n/**\n * Lexing\n */\n\nLexer.prototype.token = function(src, top) {\n src = src.replace(/^ +$/gm, '');\n var next,\n loose,\n cap,\n bull,\n b,\n item,\n listStart,\n listItems,\n t,\n space,\n i,\n tag,\n l,\n isordered,\n istask,\n ischecked;\n\n while (src) {\n // newline\n if (cap = this.rules.newline.exec(src)) {\n src = src.substring(cap[0].length);\n if (cap[0].length > 1) {\n this.tokens.push({\n type: 'space'\n });\n }\n }\n\n // code\n if (cap = this.rules.code.exec(src)) {\n src = src.substring(cap[0].length);\n cap = cap[0].replace(/^ {4}/gm, '');\n this.tokens.push({\n type: 'code',\n text: !this.options.pedantic\n ? rtrim(cap, '\\n')\n : cap\n });\n continue;\n }\n\n // fences (gfm)\n if (cap = this.rules.fences.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'code',\n lang: cap[2] ? cap[2].trim() : cap[2],\n text: cap[3] || ''\n });\n continue;\n }\n\n // heading\n if (cap = this.rules.heading.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'heading',\n depth: cap[1].length,\n text: cap[2]\n });\n continue;\n }\n\n // table no leading pipe (gfm)\n if (top && (cap = this.rules.nptable.exec(src))) {\n item = {\n type: 'table',\n header: splitCells(cap[1].replace(/^ *| *\\| *$/g, '')),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3] ? cap[3].replace(/\\n$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n src = src.substring(cap[0].length);\n\n for (i = 0; i < item.align.length; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n for (i = 0; i < item.cells.length; i++) {\n item.cells[i] = splitCells(item.cells[i], item.header.length);\n }\n\n this.tokens.push(item);\n\n continue;\n }\n }\n\n // hr\n if (cap = this.rules.hr.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'hr'\n });\n continue;\n }\n\n // blockquote\n if (cap = this.rules.blockquote.exec(src)) {\n src = src.substring(cap[0].length);\n\n this.tokens.push({\n type: 'blockquote_start'\n });\n\n cap = cap[0].replace(/^ *> ?/gm, '');\n\n // Pass `top` to keep the current\n // \"toplevel\" state. This is exactly\n // how markdown.pl works.\n this.token(cap, top);\n\n this.tokens.push({\n type: 'blockquote_end'\n });\n\n continue;\n }\n\n // list\n if (cap = this.rules.list.exec(src)) {\n src = src.substring(cap[0].length);\n bull = cap[2];\n isordered = bull.length > 1;\n\n listStart = {\n type: 'list_start',\n ordered: isordered,\n start: isordered ? +bull : '',\n loose: false\n };\n\n this.tokens.push(listStart);\n\n // Get each top-level item.\n cap = cap[0].match(this.rules.item);\n\n listItems = [];\n next = false;\n l = cap.length;\n i = 0;\n\n for (; i < l; i++) {\n item = cap[i];\n\n // Remove the list item's bullet\n // so it is seen as the next token.\n space = item.length;\n item = item.replace(/^ *([*+-]|\\d+\\.) */, '');\n\n // Outdent whatever the\n // list item contains. Hacky.\n if (~item.indexOf('\\n ')) {\n space -= item.length;\n item = !this.options.pedantic\n ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '')\n : item.replace(/^ {1,4}/gm, '');\n }\n\n // Determine whether the next list item belongs here.\n // Backpedal if it does not belong in this list.\n if (i !== l - 1) {\n b = block.bullet.exec(cap[i + 1])[0];\n if (bull.length > 1 ? b.length === 1\n : (b.length > 1 || (this.options.smartLists && b !== bull))) {\n src = cap.slice(i + 1).join('\\n') + src;\n i = l - 1;\n }\n }\n\n // Determine whether item is loose or not.\n // Use: /(^|\\n)(?! )[^\\n]+\\n\\n(?!\\s*$)/\n // for discount behavior.\n loose = next || /\\n\\n(?!\\s*$)/.test(item);\n if (i !== l - 1) {\n next = item.charAt(item.length - 1) === '\\n';\n if (!loose) loose = next;\n }\n\n if (loose) {\n listStart.loose = true;\n }\n\n // Check for task list items\n istask = /^\\[[ xX]\\] /.test(item);\n ischecked = undefined;\n if (istask) {\n ischecked = item[1] !== ' ';\n item = item.replace(/^\\[[ xX]\\] +/, '');\n }\n\n t = {\n type: 'list_item_start',\n task: istask,\n checked: ischecked,\n loose: loose\n };\n\n listItems.push(t);\n this.tokens.push(t);\n\n // Recurse.\n this.token(item, false);\n\n this.tokens.push({\n type: 'list_item_end'\n });\n }\n\n if (listStart.loose) {\n l = listItems.length;\n i = 0;\n for (; i < l; i++) {\n listItems[i].loose = true;\n }\n }\n\n this.tokens.push({\n type: 'list_end'\n });\n\n continue;\n }\n\n // html\n if (cap = this.rules.html.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: this.options.sanitize\n ? 'paragraph'\n : 'html',\n pre: !this.options.sanitizer\n && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'),\n text: cap[0]\n });\n continue;\n }\n\n // def\n if (top && (cap = this.rules.def.exec(src))) {\n src = src.substring(cap[0].length);\n if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1);\n tag = cap[1].toLowerCase().replace(/\\s+/g, ' ');\n if (!this.tokens.links[tag]) {\n this.tokens.links[tag] = {\n href: cap[2],\n title: cap[3]\n };\n }\n continue;\n }\n\n // table (gfm)\n if (top && (cap = this.rules.table.exec(src))) {\n item = {\n type: 'table',\n header: splitCells(cap[1].replace(/^ *| *\\| *$/g, '')),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3] ? cap[3].replace(/(?: *\\| *)?\\n$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n src = src.substring(cap[0].length);\n\n for (i = 0; i < item.align.length; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n for (i = 0; i < item.cells.length; i++) {\n item.cells[i] = splitCells(\n item.cells[i].replace(/^ *\\| *| *\\| *$/g, ''),\n item.header.length);\n }\n\n this.tokens.push(item);\n\n continue;\n }\n }\n\n // lheading\n if (cap = this.rules.lheading.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'heading',\n depth: cap[2] === '=' ? 1 : 2,\n text: cap[1]\n });\n continue;\n }\n\n // top-level paragraph\n if (top && (cap = this.rules.paragraph.exec(src))) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'paragraph',\n text: cap[1].charAt(cap[1].length - 1) === '\\n'\n ? cap[1].slice(0, -1)\n : cap[1]\n });\n continue;\n }\n\n // text\n if (cap = this.rules.text.exec(src)) {\n // Top-level should never reach here.\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'text',\n text: cap[0]\n });\n continue;\n }\n\n if (src) {\n throw new Error('Infinite loop on byte: ' + src.charCodeAt(0));\n }\n }\n\n return this.tokens;\n};\n\n/**\n * Inline-Level Grammar\n */\n\nvar inline = {\n escape: /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,\n autolink: /^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/,\n url: noop,\n tag: '^comment'\n + '|^' // self-closing tag\n + '|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>' // open tag\n + '|^<\\\\?[\\\\s\\\\S]*?\\\\?>' // processing instruction, e.g. \n + '|^' // declaration, e.g. \n + '|^', // CDATA section\n link: /^!?\\[(label)\\]\\(href(?:\\s+(title))?\\s*\\)/,\n reflink: /^!?\\[(label)\\]\\[(?!\\s*\\])((?:\\\\[\\[\\]]?|[^\\[\\]\\\\])+)\\]/,\n nolink: /^!?\\[(?!\\s*\\])((?:\\[[^\\[\\]]*\\]|\\\\[\\[\\]]|[^\\[\\]])*)\\](?:\\[\\])?/,\n strong: /^__([^\\s_])__(?!_)|^\\*\\*([^\\s*])\\*\\*(?!\\*)|^__([^\\s][\\s\\S]*?[^\\s])__(?!_)|^\\*\\*([^\\s][\\s\\S]*?[^\\s])\\*\\*(?!\\*)/,\n em: /^_([^\\s_])_(?!_)|^\\*([^\\s*\"<\\[])\\*(?!\\*)|^_([^\\s][\\s\\S]*?[^\\s_])_(?!_|[^\\spunctuation])|^_([^\\s_][\\s\\S]*?[^\\s])_(?!_|[^\\spunctuation])|^\\*([^\\s\"<\\[][\\s\\S]*?[^\\s*])\\*(?!\\*)|^\\*([^\\s*\"<\\[][\\s\\S]*?[^\\s])\\*(?!\\*)/,\n code: /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/,\n br: /^( {2,}|\\\\)\\n(?!\\s*$)/,\n del: noop,\n text: /^(`+|[^`])[\\s\\S]*?(?=[\\\\?@\\\\[^_{|}~';\ninline.em = edit(inline.em).replace(/punctuation/g, inline._punctuation).getRegex();\n\ninline._escapes = /\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/g;\n\ninline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;\ninline._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/;\ninline.autolink = edit(inline.autolink)\n .replace('scheme', inline._scheme)\n .replace('email', inline._email)\n .getRegex();\n\ninline._attribute = /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/;\n\ninline.tag = edit(inline.tag)\n .replace('comment', block._comment)\n .replace('attribute', inline._attribute)\n .getRegex();\n\ninline._label = /(?:\\[[^\\[\\]]*\\]|\\\\[\\[\\]]?|`[^`]*`|[^\\[\\]\\\\])*?/;\ninline._href = /\\s*(<(?:\\\\[<>]?|[^\\s<>\\\\])*>|(?:\\\\[()]?|\\([^\\s\\x00-\\x1f\\\\]*\\)|[^\\s\\x00-\\x1f()\\\\])*?)/;\ninline._title = /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/;\n\ninline.link = edit(inline.link)\n .replace('label', inline._label)\n .replace('href', inline._href)\n .replace('title', inline._title)\n .getRegex();\n\ninline.reflink = edit(inline.reflink)\n .replace('label', inline._label)\n .getRegex();\n\n/**\n * Normal Inline Grammar\n */\n\ninline.normal = merge({}, inline);\n\n/**\n * Pedantic Inline Grammar\n */\n\ninline.pedantic = merge({}, inline.normal, {\n strong: /^__(?=\\S)([\\s\\S]*?\\S)__(?!_)|^\\*\\*(?=\\S)([\\s\\S]*?\\S)\\*\\*(?!\\*)/,\n em: /^_(?=\\S)([\\s\\S]*?\\S)_(?!_)|^\\*(?=\\S)([\\s\\S]*?\\S)\\*(?!\\*)/,\n link: edit(/^!?\\[(label)\\]\\((.*?)\\)/)\n .replace('label', inline._label)\n .getRegex(),\n reflink: edit(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/)\n .replace('label', inline._label)\n .getRegex()\n});\n\n/**\n * GFM Inline Grammar\n */\n\ninline.gfm = merge({}, inline.normal, {\n escape: edit(inline.escape).replace('])', '~|])').getRegex(),\n _extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,\n url: /^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/,\n _backpedal: /(?:[^?!.,:;*_~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,\n del: /^~+(?=\\S)([\\s\\S]*?\\S)~+/,\n text: edit(inline.text)\n .replace(']|', '~]|')\n .replace('|$', '|https?://|ftp://|www\\\\.|[a-zA-Z0-9.!#$%&\\'*+/=?^_`{\\\\|}~-]+@|$')\n .getRegex()\n});\n\ninline.gfm.url = edit(inline.gfm.url, 'i')\n .replace('email', inline.gfm._extended_email)\n .getRegex();\n/**\n * GFM + Line Breaks Inline Grammar\n */\n\ninline.breaks = merge({}, inline.gfm, {\n br: edit(inline.br).replace('{2,}', '*').getRegex(),\n text: edit(inline.gfm.text).replace('{2,}', '*').getRegex()\n});\n\n/**\n * Inline Lexer & Compiler\n */\n\nfunction InlineLexer(links, options) {\n this.options = options || marked.defaults;\n this.links = links;\n this.rules = inline.normal;\n this.renderer = this.options.renderer || new Renderer();\n this.renderer.options = this.options;\n\n if (!this.links) {\n throw new Error('Tokens array requires a `links` property.');\n }\n\n if (this.options.pedantic) {\n this.rules = inline.pedantic;\n } else if (this.options.gfm) {\n if (this.options.breaks) {\n this.rules = inline.breaks;\n } else {\n this.rules = inline.gfm;\n }\n }\n}\n\n/**\n * Expose Inline Rules\n */\n\nInlineLexer.rules = inline;\n\n/**\n * Static Lexing/Compiling Method\n */\n\nInlineLexer.output = function(src, links, options) {\n var inline = new InlineLexer(links, options);\n return inline.output(src);\n};\n\n/**\n * Lexing/Compiling\n */\n\nInlineLexer.prototype.output = function(src) {\n var out = '',\n link,\n text,\n href,\n title,\n cap,\n prevCapZero;\n\n while (src) {\n // escape\n if (cap = this.rules.escape.exec(src)) {\n src = src.substring(cap[0].length);\n out += escape(cap[1]);\n continue;\n }\n\n // tag\n if (cap = this.rules.tag.exec(src)) {\n if (!this.inLink && /^
    /i.test(cap[0])) {\n this.inLink = false;\n }\n if (!this.inRawBlock && /^<(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.inRawBlock = true;\n } else if (this.inRawBlock && /^<\\/(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.inRawBlock = false;\n }\n\n src = src.substring(cap[0].length);\n out += this.options.sanitize\n ? this.options.sanitizer\n ? this.options.sanitizer(cap[0])\n : escape(cap[0])\n : cap[0];\n continue;\n }\n\n // link\n if (cap = this.rules.link.exec(src)) {\n src = src.substring(cap[0].length);\n this.inLink = true;\n href = cap[2];\n if (this.options.pedantic) {\n link = /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(href);\n\n if (link) {\n href = link[1];\n title = link[3];\n } else {\n title = '';\n }\n } else {\n title = cap[3] ? cap[3].slice(1, -1) : '';\n }\n href = href.trim().replace(/^<([\\s\\S]*)>$/, '$1');\n out += this.outputLink(cap, {\n href: InlineLexer.escapes(href),\n title: InlineLexer.escapes(title)\n });\n this.inLink = false;\n continue;\n }\n\n // reflink, nolink\n if ((cap = this.rules.reflink.exec(src))\n || (cap = this.rules.nolink.exec(src))) {\n src = src.substring(cap[0].length);\n link = (cap[2] || cap[1]).replace(/\\s+/g, ' ');\n link = this.links[link.toLowerCase()];\n if (!link || !link.href) {\n out += cap[0].charAt(0);\n src = cap[0].substring(1) + src;\n continue;\n }\n this.inLink = true;\n out += this.outputLink(cap, link);\n this.inLink = false;\n continue;\n }\n\n // strong\n if (cap = this.rules.strong.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.strong(this.output(cap[4] || cap[3] || cap[2] || cap[1]));\n continue;\n }\n\n // em\n if (cap = this.rules.em.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.em(this.output(cap[6] || cap[5] || cap[4] || cap[3] || cap[2] || cap[1]));\n continue;\n }\n\n // code\n if (cap = this.rules.code.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.codespan(escape(cap[2].trim(), true));\n continue;\n }\n\n // br\n if (cap = this.rules.br.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.br();\n continue;\n }\n\n // del (gfm)\n if (cap = this.rules.del.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.del(this.output(cap[1]));\n continue;\n }\n\n // autolink\n if (cap = this.rules.autolink.exec(src)) {\n src = src.substring(cap[0].length);\n if (cap[2] === '@') {\n text = escape(this.mangle(cap[1]));\n href = 'mailto:' + text;\n } else {\n text = escape(cap[1]);\n href = text;\n }\n out += this.renderer.link(href, null, text);\n continue;\n }\n\n // url (gfm)\n if (!this.inLink && (cap = this.rules.url.exec(src))) {\n if (cap[2] === '@') {\n text = escape(cap[0]);\n href = 'mailto:' + text;\n } else {\n // do extended autolink path validation\n do {\n prevCapZero = cap[0];\n cap[0] = this.rules._backpedal.exec(cap[0])[0];\n } while (prevCapZero !== cap[0]);\n text = escape(cap[0]);\n if (cap[1] === 'www.') {\n href = 'http://' + text;\n } else {\n href = text;\n }\n }\n src = src.substring(cap[0].length);\n out += this.renderer.link(href, null, text);\n continue;\n }\n\n // text\n if (cap = this.rules.text.exec(src)) {\n src = src.substring(cap[0].length);\n if (this.inRawBlock) {\n out += this.renderer.text(cap[0]);\n } else {\n out += this.renderer.text(escape(this.smartypants(cap[0])));\n }\n continue;\n }\n\n if (src) {\n throw new Error('Infinite loop on byte: ' + src.charCodeAt(0));\n }\n }\n\n return out;\n};\n\nInlineLexer.escapes = function(text) {\n return text ? text.replace(InlineLexer.rules._escapes, '$1') : text;\n};\n\n/**\n * Compile Link\n */\n\nInlineLexer.prototype.outputLink = function(cap, link) {\n var href = link.href,\n title = link.title ? escape(link.title) : null;\n\n return cap[0].charAt(0) !== '!'\n ? this.renderer.link(href, title, this.output(cap[1]))\n : this.renderer.image(href, title, escape(cap[1]));\n};\n\n/**\n * Smartypants Transformations\n */\n\nInlineLexer.prototype.smartypants = function(text) {\n if (!this.options.smartypants) return text;\n return text\n // em-dashes\n .replace(/---/g, '\\u2014')\n // en-dashes\n .replace(/--/g, '\\u2013')\n // opening singles\n .replace(/(^|[-\\u2014/(\\[{\"\\s])'/g, '$1\\u2018')\n // closing singles & apostrophes\n .replace(/'/g, '\\u2019')\n // opening doubles\n .replace(/(^|[-\\u2014/(\\[{\\u2018\\s])\"/g, '$1\\u201c')\n // closing doubles\n .replace(/\"/g, '\\u201d')\n // ellipses\n .replace(/\\.{3}/g, '\\u2026');\n};\n\n/**\n * Mangle Links\n */\n\nInlineLexer.prototype.mangle = function(text) {\n if (!this.options.mangle) return text;\n var out = '',\n l = text.length,\n i = 0,\n ch;\n\n for (; i < l; i++) {\n ch = text.charCodeAt(i);\n if (Math.random() > 0.5) {\n ch = 'x' + ch.toString(16);\n }\n out += '&#' + ch + ';';\n }\n\n return out;\n};\n\n/**\n * Renderer\n */\n\nfunction Renderer(options) {\n this.options = options || marked.defaults;\n}\n\nRenderer.prototype.code = function(code, infostring, escaped) {\n var lang = (infostring || '').match(/\\S*/)[0];\n if (this.options.highlight) {\n var out = this.options.highlight(code, lang);\n if (out != null && out !== code) {\n escaped = true;\n code = out;\n }\n }\n\n if (!lang) {\n return '
    '\n      + (escaped ? code : escape(code, true))\n      + '
    ';\n }\n\n return '
    '\n    + (escaped ? code : escape(code, true))\n    + '
    \\n';\n};\n\nRenderer.prototype.blockquote = function(quote) {\n return '
    \\n' + quote + '
    \\n';\n};\n\nRenderer.prototype.html = function(html) {\n return html;\n};\n\nRenderer.prototype.heading = function(text, level, raw, slugger) {\n if (this.options.headerIds) {\n return ''\n + text\n + '\\n';\n }\n // ignore IDs\n return '' + text + '\\n';\n};\n\nRenderer.prototype.hr = function() {\n return this.options.xhtml ? '
    \\n' : '
    \\n';\n};\n\nRenderer.prototype.list = function(body, ordered, start) {\n var type = ordered ? 'ol' : 'ul',\n startatt = (ordered && start !== 1) ? (' start=\"' + start + '\"') : '';\n return '<' + type + startatt + '>\\n' + body + '\\n';\n};\n\nRenderer.prototype.listitem = function(text) {\n return '
  • ' + text + '
  • \\n';\n};\n\nRenderer.prototype.checkbox = function(checked) {\n return ' ';\n};\n\nRenderer.prototype.paragraph = function(text) {\n return '

    ' + text + '

    \\n';\n};\n\nRenderer.prototype.table = function(header, body) {\n if (body) body = '' + body + '';\n\n return '\\n'\n + '\\n'\n + header\n + '\\n'\n + body\n + '
    \\n';\n};\n\nRenderer.prototype.tablerow = function(content) {\n return '\\n' + content + '\\n';\n};\n\nRenderer.prototype.tablecell = function(content, flags) {\n var type = flags.header ? 'th' : 'td';\n var tag = flags.align\n ? '<' + type + ' align=\"' + flags.align + '\">'\n : '<' + type + '>';\n return tag + content + '\\n';\n};\n\n// span level renderer\nRenderer.prototype.strong = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.em = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.codespan = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.br = function() {\n return this.options.xhtml ? '
    ' : '
    ';\n};\n\nRenderer.prototype.del = function(text) {\n return '' + text + '';\n};\n\nRenderer.prototype.link = function(href, title, text) {\n href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n if (href === null) {\n return text;\n }\n var out = '
    ';\n return out;\n};\n\nRenderer.prototype.image = function(href, title, text) {\n href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n if (href === null) {\n return text;\n }\n\n var out = '\"'' : '>';\n return out;\n};\n\nRenderer.prototype.text = function(text) {\n return text;\n};\n\n/**\n * TextRenderer\n * returns only the textual part of the token\n */\n\nfunction TextRenderer() {}\n\n// no need for block level renderers\n\nTextRenderer.prototype.strong =\nTextRenderer.prototype.em =\nTextRenderer.prototype.codespan =\nTextRenderer.prototype.del =\nTextRenderer.prototype.text = function (text) {\n return text;\n};\n\nTextRenderer.prototype.link =\nTextRenderer.prototype.image = function(href, title, text) {\n return '' + text;\n};\n\nTextRenderer.prototype.br = function() {\n return '';\n};\n\n/**\n * Parsing & Compiling\n */\n\nfunction Parser(options) {\n this.tokens = [];\n this.token = null;\n this.options = options || marked.defaults;\n this.options.renderer = this.options.renderer || new Renderer();\n this.renderer = this.options.renderer;\n this.renderer.options = this.options;\n this.slugger = new Slugger();\n}\n\n/**\n * Static Parse Method\n */\n\nParser.parse = function(src, options) {\n var parser = new Parser(options);\n return parser.parse(src);\n};\n\n/**\n * Parse Loop\n */\n\nParser.prototype.parse = function(src) {\n this.inline = new InlineLexer(src.links, this.options);\n // use an InlineLexer with a TextRenderer to extract pure text\n this.inlineText = new InlineLexer(\n src.links,\n merge({}, this.options, {renderer: new TextRenderer()})\n );\n this.tokens = src.reverse();\n\n var out = '';\n while (this.next()) {\n out += this.tok();\n }\n\n return out;\n};\n\n/**\n * Next Token\n */\n\nParser.prototype.next = function() {\n return this.token = this.tokens.pop();\n};\n\n/**\n * Preview Next Token\n */\n\nParser.prototype.peek = function() {\n return this.tokens[this.tokens.length - 1] || 0;\n};\n\n/**\n * Parse Text Tokens\n */\n\nParser.prototype.parseText = function() {\n var body = this.token.text;\n\n while (this.peek().type === 'text') {\n body += '\\n' + this.next().text;\n }\n\n return this.inline.output(body);\n};\n\n/**\n * Parse Current Token\n */\n\nParser.prototype.tok = function() {\n switch (this.token.type) {\n case 'space': {\n return '';\n }\n case 'hr': {\n return this.renderer.hr();\n }\n case 'heading': {\n return this.renderer.heading(\n this.inline.output(this.token.text),\n this.token.depth,\n unescape(this.inlineText.output(this.token.text)),\n this.slugger);\n }\n case 'code': {\n return this.renderer.code(this.token.text,\n this.token.lang,\n this.token.escaped);\n }\n case 'table': {\n var header = '',\n body = '',\n i,\n row,\n cell,\n j;\n\n // header\n cell = '';\n for (i = 0; i < this.token.header.length; i++) {\n cell += this.renderer.tablecell(\n this.inline.output(this.token.header[i]),\n { header: true, align: this.token.align[i] }\n );\n }\n header += this.renderer.tablerow(cell);\n\n for (i = 0; i < this.token.cells.length; i++) {\n row = this.token.cells[i];\n\n cell = '';\n for (j = 0; j < row.length; j++) {\n cell += this.renderer.tablecell(\n this.inline.output(row[j]),\n { header: false, align: this.token.align[j] }\n );\n }\n\n body += this.renderer.tablerow(cell);\n }\n return this.renderer.table(header, body);\n }\n case 'blockquote_start': {\n body = '';\n\n while (this.next().type !== 'blockquote_end') {\n body += this.tok();\n }\n\n return this.renderer.blockquote(body);\n }\n case 'list_start': {\n body = '';\n var ordered = this.token.ordered,\n start = this.token.start;\n\n while (this.next().type !== 'list_end') {\n body += this.tok();\n }\n\n return this.renderer.list(body, ordered, start);\n }\n case 'list_item_start': {\n body = '';\n var loose = this.token.loose;\n\n if (this.token.task) {\n body += this.renderer.checkbox(this.token.checked);\n }\n\n while (this.next().type !== 'list_item_end') {\n body += !loose && this.token.type === 'text'\n ? this.parseText()\n : this.tok();\n }\n\n return this.renderer.listitem(body);\n }\n case 'html': {\n // TODO parse inline content if parameter markdown=1\n return this.renderer.html(this.token.text);\n }\n case 'paragraph': {\n return this.renderer.paragraph(this.inline.output(this.token.text));\n }\n case 'text': {\n return this.renderer.paragraph(this.parseText());\n }\n default: {\n var errMsg = 'Token with \"' + this.token.type + '\" type was not found.';\n if (this.options.silent) {\n console.log(errMsg);\n } else {\n throw new Error(errMsg);\n }\n }\n }\n};\n\n/**\n * Slugger generates header id\n */\n\nfunction Slugger () {\n this.seen = {};\n}\n\n/**\n * Convert string to unique id\n */\n\nSlugger.prototype.slug = function (value) {\n var slug = value\n .toLowerCase()\n .trim()\n .replace(/[\\u2000-\\u206F\\u2E00-\\u2E7F\\\\'!\"#$%&()*+,./:;<=>?@[\\]^`{|}~]/g, '')\n .replace(/\\s/g, '-');\n\n if (this.seen.hasOwnProperty(slug)) {\n var originalSlug = slug;\n do {\n this.seen[originalSlug]++;\n slug = originalSlug + '-' + this.seen[originalSlug];\n } while (this.seen.hasOwnProperty(slug));\n }\n this.seen[slug] = 0;\n\n return slug;\n};\n\n/**\n * Helpers\n */\n\nfunction escape(html, encode) {\n if (encode) {\n if (escape.escapeTest.test(html)) {\n return html.replace(escape.escapeReplace, function (ch) { return escape.replacements[ch]; });\n }\n } else {\n if (escape.escapeTestNoEncode.test(html)) {\n return html.replace(escape.escapeReplaceNoEncode, function (ch) { return escape.replacements[ch]; });\n }\n }\n\n return html;\n}\n\nescape.escapeTest = /[&<>\"']/;\nescape.escapeReplace = /[&<>\"']/g;\nescape.replacements = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n};\n\nescape.escapeTestNoEncode = /[<>\"']|&(?!#?\\w+;)/;\nescape.escapeReplaceNoEncode = /[<>\"']|&(?!#?\\w+;)/g;\n\nfunction unescape(html) {\n // explicitly match decimal, hex, and named HTML entities\n return html.replace(/&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig, function(_, n) {\n n = n.toLowerCase();\n if (n === 'colon') return ':';\n if (n.charAt(0) === '#') {\n return n.charAt(1) === 'x'\n ? String.fromCharCode(parseInt(n.substring(2), 16))\n : String.fromCharCode(+n.substring(1));\n }\n return '';\n });\n}\n\nfunction edit(regex, opt) {\n regex = regex.source || regex;\n opt = opt || '';\n return {\n replace: function(name, val) {\n val = val.source || val;\n val = val.replace(/(^|[^\\[])\\^/g, '$1');\n regex = regex.replace(name, val);\n return this;\n },\n getRegex: function() {\n return new RegExp(regex, opt);\n }\n };\n}\n\nfunction cleanUrl(sanitize, base, href) {\n if (sanitize) {\n try {\n var prot = decodeURIComponent(unescape(href))\n .replace(/[^\\w:]/g, '')\n .toLowerCase();\n } catch (e) {\n return null;\n }\n if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) {\n return null;\n }\n }\n if (base && !originIndependentUrl.test(href)) {\n href = resolveUrl(base, href);\n }\n try {\n href = encodeURI(href).replace(/%25/g, '%');\n } catch (e) {\n return null;\n }\n return href;\n}\n\nfunction resolveUrl(base, href) {\n if (!baseUrls[' ' + base]) {\n // we can ignore everything in base after the last slash of its path component,\n // but we might need to add _that_\n // https://tools.ietf.org/html/rfc3986#section-3\n if (/^[^:]+:\\/*[^/]*$/.test(base)) {\n baseUrls[' ' + base] = base + '/';\n } else {\n baseUrls[' ' + base] = rtrim(base, '/', true);\n }\n }\n base = baseUrls[' ' + base];\n\n if (href.slice(0, 2) === '//') {\n return base.replace(/:[\\s\\S]*/, ':') + href;\n } else if (href.charAt(0) === '/') {\n return base.replace(/(:\\/*[^/]*)[\\s\\S]*/, '$1') + href;\n } else {\n return base + href;\n }\n}\nvar baseUrls = {};\nvar originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;\n\nfunction noop() {}\nnoop.exec = noop;\n\nfunction merge(obj) {\n var i = 1,\n target,\n key;\n\n for (; i < arguments.length; i++) {\n target = arguments[i];\n for (key in target) {\n if (Object.prototype.hasOwnProperty.call(target, key)) {\n obj[key] = target[key];\n }\n }\n }\n\n return obj;\n}\n\nfunction splitCells(tableRow, count) {\n // ensure that every cell-delimiting pipe has a space\n // before it to distinguish it from an escaped pipe\n var row = tableRow.replace(/\\|/g, function (match, offset, str) {\n var escaped = false,\n curr = offset;\n while (--curr >= 0 && str[curr] === '\\\\') escaped = !escaped;\n if (escaped) {\n // odd number of slashes means | is escaped\n // so we leave it alone\n return '|';\n } else {\n // add space before unescaped |\n return ' |';\n }\n }),\n cells = row.split(/ \\|/),\n i = 0;\n\n if (cells.length > count) {\n cells.splice(count);\n } else {\n while (cells.length < count) cells.push('');\n }\n\n for (; i < cells.length; i++) {\n // leading or trailing whitespace is ignored per the gfm spec\n cells[i] = cells[i].trim().replace(/\\\\\\|/g, '|');\n }\n return cells;\n}\n\n// Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').\n// /c*$/ is vulnerable to REDOS.\n// invert: Remove suffix of non-c chars instead. Default falsey.\nfunction rtrim(str, c, invert) {\n if (str.length === 0) {\n return '';\n }\n\n // Length of suffix matching the invert condition.\n var suffLen = 0;\n\n // Step left until we fail to match the invert condition.\n while (suffLen < str.length) {\n var currChar = str.charAt(str.length - suffLen - 1);\n if (currChar === c && !invert) {\n suffLen++;\n } else if (currChar !== c && invert) {\n suffLen++;\n } else {\n break;\n }\n }\n\n return str.substr(0, str.length - suffLen);\n}\n\n/**\n * Marked\n */\n\nfunction marked(src, opt, callback) {\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n throw new Error('marked(): input parameter is undefined or null');\n }\n if (typeof src !== 'string') {\n throw new Error('marked(): input parameter is of type '\n + Object.prototype.toString.call(src) + ', string expected');\n }\n\n if (callback || typeof opt === 'function') {\n if (!callback) {\n callback = opt;\n opt = null;\n }\n\n opt = merge({}, marked.defaults, opt || {});\n\n var highlight = opt.highlight,\n tokens,\n pending,\n i = 0;\n\n try {\n tokens = Lexer.lex(src, opt);\n } catch (e) {\n return callback(e);\n }\n\n pending = tokens.length;\n\n var done = function(err) {\n if (err) {\n opt.highlight = highlight;\n return callback(err);\n }\n\n var out;\n\n try {\n out = Parser.parse(tokens, opt);\n } catch (e) {\n err = e;\n }\n\n opt.highlight = highlight;\n\n return err\n ? callback(err)\n : callback(null, out);\n };\n\n if (!highlight || highlight.length < 3) {\n return done();\n }\n\n delete opt.highlight;\n\n if (!pending) return done();\n\n for (; i < tokens.length; i++) {\n (function(token) {\n if (token.type !== 'code') {\n return --pending || done();\n }\n return highlight(token.text, token.lang, function(err, code) {\n if (err) return done(err);\n if (code == null || code === token.text) {\n return --pending || done();\n }\n token.text = code;\n token.escaped = true;\n --pending || done();\n });\n })(tokens[i]);\n }\n\n return;\n }\n try {\n if (opt) opt = merge({}, marked.defaults, opt);\n return Parser.parse(Lexer.lex(src, opt), opt);\n } catch (e) {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n if ((opt || marked.defaults).silent) {\n return '

    An error occurred:

    '\n        + escape(e.message + '', true)\n        + '
    ';\n }\n throw e;\n }\n}\n\n/**\n * Options\n */\n\nmarked.options =\nmarked.setOptions = function(opt) {\n merge(marked.defaults, opt);\n return marked;\n};\n\nmarked.getDefaults = function () {\n return {\n baseUrl: null,\n breaks: false,\n gfm: true,\n headerIds: true,\n headerPrefix: '',\n highlight: null,\n langPrefix: 'language-',\n mangle: true,\n pedantic: false,\n renderer: new Renderer(),\n sanitize: false,\n sanitizer: null,\n silent: false,\n smartLists: false,\n smartypants: false,\n tables: true,\n xhtml: false\n };\n};\n\nmarked.defaults = marked.getDefaults();\n\n/**\n * Expose\n */\n\nmarked.Parser = Parser;\nmarked.parser = Parser.parse;\n\nmarked.Renderer = Renderer;\nmarked.TextRenderer = TextRenderer;\n\nmarked.Lexer = Lexer;\nmarked.lexer = Lexer.lex;\n\nmarked.InlineLexer = InlineLexer;\nmarked.inlineLexer = InlineLexer.output;\n\nmarked.Slugger = Slugger;\n\nmarked.parse = marked;\n\nif (typeof module !== 'undefined' && typeof exports === 'object') {\n module.exports = marked;\n} else if (typeof define === 'function' && define.amd) {\n define(function() { return marked; });\n} else {\n root.marked = marked;\n}\n})(this || (typeof window !== 'undefined' ? window : global));\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","// Generated by purs bundle 0.12.2\nvar PS = {};\n(function(exports) {\n /* global exports */\n /* global XMLHttpRequest */\n /* global module */\n /* global process */\n \"use strict\";\n\n exports._ajax = function () {\n var platformSpecific = { };\n if (typeof module !== \"undefined\" && module.require && !(typeof process !== \"undefined\" && process.versions[\"electron\"])) {\n // We are on node.js\n platformSpecific.newXHR = function () {\n var XHR = module.require(\"xhr2\");\n return new XHR();\n };\n\n platformSpecific.fixupUrl = function (url) {\n var urllib = module.require(\"url\");\n var u = urllib.parse(url);\n u.protocol = u.protocol || \"http:\";\n u.hostname = u.hostname || \"localhost\";\n return urllib.format(u);\n };\n\n platformSpecific.getResponse = function (xhr) {\n return xhr.response;\n };\n } else {\n // We are in the browser\n platformSpecific.newXHR = function () {\n return new XMLHttpRequest();\n };\n\n platformSpecific.fixupUrl = function (url) {\n return url || \"/\";\n };\n\n platformSpecific.getResponse = function (xhr) {\n return xhr.response;\n };\n }\n\n return function (mkHeader, options) {\n return function (errback, callback) {\n var xhr = platformSpecific.newXHR();\n var fixedUrl = platformSpecific.fixupUrl(options.url);\n xhr.open(options.method || \"GET\", fixedUrl, true, options.username, options.password);\n if (options.headers) {\n try {\n for (var i = 0, header; (header = options.headers[i]) != null; i++) {\n xhr.setRequestHeader(header.field, header.value);\n }\n } catch (e) {\n errback(e);\n }\n }\n var onerror = function (msg) {\n return function () {\n errback(new Error(msg + \": \" + options.method + \" \" + options.url));\n };\n };\n xhr.onerror = onerror(\"AJAX request failed\");\n xhr.ontimeout = onerror(\"AJAX request timed out\");\n xhr.onload = function () {\n callback({\n status: xhr.status,\n statusText: xhr.statusText,\n headers: xhr.getAllResponseHeaders().split(\"\\r\\n\")\n .filter(function (header) {\n return header.length > 0;\n })\n .map(function (header) {\n var i = header.indexOf(\":\");\n return mkHeader(header.substring(0, i))(header.substring(i + 2));\n }),\n body: platformSpecific.getResponse(xhr)\n });\n };\n xhr.responseType = options.responseType;\n xhr.withCredentials = options.withCredentials;\n xhr.send(options.content);\n\n return function (error, cancelErrback, cancelCallback) {\n try {\n xhr.abort();\n } catch (e) {\n return cancelErrback(e);\n }\n return cancelCallback();\n };\n };\n };\n }();\n})(PS[\"Affjax\"] = PS[\"Affjax\"] || {});\n(function(exports) {\n \"use strict\";\n\n function id(x) {\n return x;\n } \n exports.fromObject = id;\n\n exports.stringify = function (j) {\n return JSON.stringify(j);\n }; \n\n function isArray(a) {\n return objToString.call(a) === \"[object Array]\";\n }\n})(PS[\"Data.Argonaut.Core\"] = PS[\"Data.Argonaut.Core\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.refEq = function (r1) {\n return function (r2) {\n return r1 === r2;\n };\n };\n})(PS[\"Data.Eq\"] = PS[\"Data.Eq\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.boolConj = function (b1) {\n return function (b2) {\n return b1 && b2;\n };\n };\n\n exports.boolDisj = function (b1) {\n return function (b2) {\n return b1 || b2;\n };\n };\n\n exports.boolNot = function (b) {\n return !b;\n };\n})(PS[\"Data.HeytingAlgebra\"] = PS[\"Data.HeytingAlgebra\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Symbol\"]; \n var SProxy = (function () {\n function SProxy() {\n\n };\n SProxy.value = new SProxy();\n return SProxy;\n })();\n var IsSymbol = function (reflectSymbol) {\n this.reflectSymbol = reflectSymbol;\n };\n var reflectSymbol = function (dict) {\n return dict.reflectSymbol;\n };\n exports[\"IsSymbol\"] = IsSymbol;\n exports[\"reflectSymbol\"] = reflectSymbol;\n exports[\"SProxy\"] = SProxy;\n})(PS[\"Data.Symbol\"] = PS[\"Data.Symbol\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unit = {};\n})(PS[\"Data.Unit\"] = PS[\"Data.Unit\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.showIntImpl = function (n) {\n return n.toString();\n };\n})(PS[\"Data.Show\"] = PS[\"Data.Show\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unsafeGet = function (label) {\n return function (rec) {\n return rec[label];\n };\n };\n})(PS[\"Record.Unsafe\"] = PS[\"Record.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Record.Unsafe\"];\n exports[\"unsafeGet\"] = $foreign.unsafeGet;\n})(PS[\"Record.Unsafe\"] = PS[\"Record.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var RLProxy = (function () {\n function RLProxy() {\n\n };\n RLProxy.value = new RLProxy();\n return RLProxy;\n })();\n exports[\"RLProxy\"] = RLProxy;\n})(PS[\"Type.Data.RowList\"] = PS[\"Type.Data.RowList\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Show\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var Show = function (show) {\n this.show = show;\n }; \n var showInt = new Show($foreign.showIntImpl);\n var show = function (dict) {\n return dict.show;\n };\n exports[\"Show\"] = Show;\n exports[\"show\"] = show;\n exports[\"showInt\"] = showInt;\n})(PS[\"Data.Show\"] = PS[\"Data.Show\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Unit\"];\n var Data_Show = PS[\"Data.Show\"];\n exports[\"unit\"] = $foreign.unit;\n})(PS[\"Data.Unit\"] = PS[\"Data.Unit\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.HeytingAlgebra\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_Row = PS[\"Type.Data.Row\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var HeytingAlgebra = function (conj, disj, ff, implies, not, tt) {\n this.conj = conj;\n this.disj = disj;\n this.ff = ff;\n this.implies = implies;\n this.not = not;\n this.tt = tt;\n };\n var tt = function (dict) {\n return dict.tt;\n };\n var not = function (dict) {\n return dict.not;\n };\n var implies = function (dict) {\n return dict.implies;\n };\n var ff = function (dict) {\n return dict.ff;\n };\n var disj = function (dict) {\n return dict.disj;\n };\n var heytingAlgebraBoolean = new HeytingAlgebra($foreign.boolConj, $foreign.boolDisj, false, function (a) {\n return function (b) {\n return disj(heytingAlgebraBoolean)(not(heytingAlgebraBoolean)(a))(b);\n };\n }, $foreign.boolNot, true);\n var conj = function (dict) {\n return dict.conj;\n };\n var heytingAlgebraFunction = function (dictHeytingAlgebra) {\n return new HeytingAlgebra(function (f) {\n return function (g) {\n return function (a) {\n return conj(dictHeytingAlgebra)(f(a))(g(a));\n };\n };\n }, function (f) {\n return function (g) {\n return function (a) {\n return disj(dictHeytingAlgebra)(f(a))(g(a));\n };\n };\n }, function (v) {\n return ff(dictHeytingAlgebra);\n }, function (f) {\n return function (g) {\n return function (a) {\n return implies(dictHeytingAlgebra)(f(a))(g(a));\n };\n };\n }, function (f) {\n return function (a) {\n return not(dictHeytingAlgebra)(f(a));\n };\n }, function (v) {\n return tt(dictHeytingAlgebra);\n });\n };\n exports[\"HeytingAlgebra\"] = HeytingAlgebra;\n exports[\"tt\"] = tt;\n exports[\"ff\"] = ff;\n exports[\"implies\"] = implies;\n exports[\"conj\"] = conj;\n exports[\"disj\"] = disj;\n exports[\"not\"] = not;\n exports[\"heytingAlgebraBoolean\"] = heytingAlgebraBoolean;\n exports[\"heytingAlgebraFunction\"] = heytingAlgebraFunction;\n})(PS[\"Data.HeytingAlgebra\"] = PS[\"Data.HeytingAlgebra\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Show = PS[\"Data.Show\"];\n var absurd = function (a) {\n var spin = function ($copy_v) {\n var $tco_result;\n function $tco_loop(v) {\n $copy_v = v;\n return;\n };\n while (!false) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n return spin(a);\n };\n exports[\"absurd\"] = absurd;\n})(PS[\"Data.Void\"] = PS[\"Data.Void\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Eq\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Data_Void = PS[\"Data.Void\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var Eq = function (eq) {\n this.eq = eq;\n }; \n var eqUnit = new Eq(function (v) {\n return function (v1) {\n return true;\n };\n });\n var eqString = new Eq($foreign.refEq);\n var eqInt = new Eq($foreign.refEq);\n var eqChar = new Eq($foreign.refEq);\n var eqBoolean = new Eq($foreign.refEq);\n var eq = function (dict) {\n return dict.eq;\n };\n exports[\"Eq\"] = Eq;\n exports[\"eq\"] = eq;\n exports[\"eqBoolean\"] = eqBoolean;\n exports[\"eqInt\"] = eqInt;\n exports[\"eqChar\"] = eqChar;\n exports[\"eqString\"] = eqString;\n exports[\"eqUnit\"] = eqUnit;\n})(PS[\"Data.Eq\"] = PS[\"Data.Eq\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Semigroupoid = function (compose) {\n this.compose = compose;\n };\n var semigroupoidFn = new Semigroupoid(function (f) {\n return function (g) {\n return function (x) {\n return f(g(x));\n };\n };\n });\n var compose = function (dict) {\n return dict.compose;\n };\n exports[\"compose\"] = compose;\n exports[\"Semigroupoid\"] = Semigroupoid;\n exports[\"semigroupoidFn\"] = semigroupoidFn;\n})(PS[\"Control.Semigroupoid\"] = PS[\"Control.Semigroupoid\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"]; \n var Category = function (Semigroupoid0, identity) {\n this.Semigroupoid0 = Semigroupoid0;\n this.identity = identity;\n };\n var identity = function (dict) {\n return dict.identity;\n };\n var categoryFn = new Category(function () {\n return Control_Semigroupoid.semigroupoidFn;\n }, function (x) {\n return x;\n });\n exports[\"Category\"] = Category;\n exports[\"identity\"] = identity;\n exports[\"categoryFn\"] = categoryFn;\n})(PS[\"Control.Category\"] = PS[\"Control.Category\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var otherwise = true;\n exports[\"otherwise\"] = otherwise;\n})(PS[\"Data.Boolean\"] = PS[\"Data.Boolean\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unsafeCompareImpl = function (lt) {\n return function (eq) {\n return function (gt) {\n return function (x) {\n return function (y) {\n return x < y ? lt : x === y ? eq : gt;\n };\n };\n };\n };\n };\n})(PS[\"Data.Ord.Unsafe\"] = PS[\"Data.Ord.Unsafe\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.concatString = function (s1) {\n return function (s2) {\n return s1 + s2;\n };\n };\n\n exports.concatArray = function (xs) {\n return function (ys) {\n if (xs.length === 0) return ys;\n if (ys.length === 0) return xs;\n return xs.concat(ys);\n };\n };\n})(PS[\"Data.Semigroup\"] = PS[\"Data.Semigroup\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Semigroup\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Data_Void = PS[\"Data.Void\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var Semigroup = function (append) {\n this.append = append;\n }; \n var semigroupString = new Semigroup($foreign.concatString);\n var semigroupArray = new Semigroup($foreign.concatArray);\n var append = function (dict) {\n return dict.append;\n };\n var semigroupFn = function (dictSemigroup) {\n return new Semigroup(function (f) {\n return function (g) {\n return function (x) {\n return append(dictSemigroup)(f(x))(g(x));\n };\n };\n });\n };\n exports[\"Semigroup\"] = Semigroup;\n exports[\"append\"] = append;\n exports[\"semigroupString\"] = semigroupString;\n exports[\"semigroupFn\"] = semigroupFn;\n exports[\"semigroupArray\"] = semigroupArray;\n})(PS[\"Data.Semigroup\"] = PS[\"Data.Semigroup\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"]; \n var LT = (function () {\n function LT() {\n\n };\n LT.value = new LT();\n return LT;\n })();\n var GT = (function () {\n function GT() {\n\n };\n GT.value = new GT();\n return GT;\n })();\n var EQ = (function () {\n function EQ() {\n\n };\n EQ.value = new EQ();\n return EQ;\n })();\n exports[\"LT\"] = LT;\n exports[\"GT\"] = GT;\n exports[\"EQ\"] = EQ;\n})(PS[\"Data.Ordering\"] = PS[\"Data.Ordering\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Ord.Unsafe\"];\n var Data_Ordering = PS[\"Data.Ordering\"]; \n var unsafeCompare = $foreign.unsafeCompareImpl(Data_Ordering.LT.value)(Data_Ordering.EQ.value)(Data_Ordering.GT.value);\n exports[\"unsafeCompare\"] = unsafeCompare;\n})(PS[\"Data.Ord.Unsafe\"] = PS[\"Data.Ord.Unsafe\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.intSub = function (x) {\n return function (y) {\n /* jshint bitwise: false */\n return x - y | 0;\n };\n };\n})(PS[\"Data.Ring\"] = PS[\"Data.Ring\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.intAdd = function (x) {\n return function (y) {\n /* jshint bitwise: false */\n return x + y | 0;\n };\n };\n\n exports.intMul = function (x) {\n return function (y) {\n /* jshint bitwise: false */\n return x * y | 0;\n };\n };\n})(PS[\"Data.Semiring\"] = PS[\"Data.Semiring\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Semiring\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_Row = PS[\"Type.Data.Row\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var Semiring = function (add, mul, one, zero) {\n this.add = add;\n this.mul = mul;\n this.one = one;\n this.zero = zero;\n };\n var zero = function (dict) {\n return dict.zero;\n }; \n var semiringInt = new Semiring($foreign.intAdd, $foreign.intMul, 1, 0);\n var one = function (dict) {\n return dict.one;\n };\n var mul = function (dict) {\n return dict.mul;\n };\n var add = function (dict) {\n return dict.add;\n };\n exports[\"Semiring\"] = Semiring;\n exports[\"add\"] = add;\n exports[\"zero\"] = zero;\n exports[\"mul\"] = mul;\n exports[\"one\"] = one;\n exports[\"semiringInt\"] = semiringInt;\n})(PS[\"Data.Semiring\"] = PS[\"Data.Semiring\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var Ring = function (Semiring0, sub) {\n this.Semiring0 = Semiring0;\n this.sub = sub;\n };\n var sub = function (dict) {\n return dict.sub;\n }; \n var ringInt = new Ring(function () {\n return Data_Semiring.semiringInt;\n }, $foreign.intSub);\n exports[\"Ring\"] = Ring;\n exports[\"sub\"] = sub;\n exports[\"ringInt\"] = ringInt;\n})(PS[\"Data.Ring\"] = PS[\"Data.Ring\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Ord\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Ord_Unsafe = PS[\"Data.Ord.Unsafe\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Data_Void = PS[\"Data.Void\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var Ord = function (Eq0, compare) {\n this.Eq0 = Eq0;\n this.compare = compare;\n }; \n var ordUnit = new Ord(function () {\n return Data_Eq.eqUnit;\n }, function (v) {\n return function (v1) {\n return Data_Ordering.EQ.value;\n };\n });\n var ordString = new Ord(function () {\n return Data_Eq.eqString;\n }, Data_Ord_Unsafe.unsafeCompare);\n var ordInt = new Ord(function () {\n return Data_Eq.eqInt;\n }, Data_Ord_Unsafe.unsafeCompare);\n var ordChar = new Ord(function () {\n return Data_Eq.eqChar;\n }, Data_Ord_Unsafe.unsafeCompare);\n var compare = function (dict) {\n return dict.compare;\n };\n exports[\"Ord\"] = Ord;\n exports[\"compare\"] = compare;\n exports[\"ordInt\"] = ordInt;\n exports[\"ordString\"] = ordString;\n exports[\"ordChar\"] = ordChar;\n exports[\"ordUnit\"] = ordUnit;\n})(PS[\"Data.Ord\"] = PS[\"Data.Ord\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"]; \n var on = function (f) {\n return function (g) {\n return function (x) {\n return function (y) {\n return f(g(x))(g(y));\n };\n };\n };\n };\n var flip = function (f) {\n return function (b) {\n return function (a) {\n return f(a)(b);\n };\n };\n };\n var $$const = function (a) {\n return function (v) {\n return a;\n };\n };\n exports[\"flip\"] = flip;\n exports[\"const\"] = $$const;\n exports[\"on\"] = on;\n})(PS[\"Data.Function\"] = PS[\"Data.Function\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.runFn4 = function (fn) {\n return function (a) {\n return function (b) {\n return function (c) {\n return function (d) {\n return fn(a, b, c, d);\n };\n };\n };\n };\n };\n})(PS[\"Data.Function.Uncurried\"] = PS[\"Data.Function.Uncurried\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Function.Uncurried\"];\n var Data_Unit = PS[\"Data.Unit\"];\n exports[\"runFn4\"] = $foreign.runFn4;\n})(PS[\"Data.Function.Uncurried\"] = PS[\"Data.Function.Uncurried\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.arrayMap = function (f) {\n return function (arr) {\n var l = arr.length;\n var result = new Array(l);\n for (var i = 0; i < l; i++) {\n result[i] = f(arr[i]);\n }\n return result;\n };\n };\n})(PS[\"Data.Functor\"] = PS[\"Data.Functor\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Functor\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Unit = PS[\"Data.Unit\"]; \n var Functor = function (map) {\n this.map = map;\n };\n var map = function (dict) {\n return dict.map;\n };\n var $$void = function (dictFunctor) {\n return map(dictFunctor)(Data_Function[\"const\"](Data_Unit.unit));\n };\n var voidLeft = function (dictFunctor) {\n return function (f) {\n return function (x) {\n return map(dictFunctor)(Data_Function[\"const\"](x))(f);\n };\n };\n };\n var functorFn = new Functor(Control_Semigroupoid.compose(Control_Semigroupoid.semigroupoidFn));\n var functorArray = new Functor($foreign.arrayMap);\n exports[\"Functor\"] = Functor;\n exports[\"map\"] = map;\n exports[\"void\"] = $$void;\n exports[\"voidLeft\"] = voidLeft;\n exports[\"functorFn\"] = functorFn;\n exports[\"functorArray\"] = functorArray;\n})(PS[\"Data.Functor\"] = PS[\"Data.Functor\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"]; \n var Alt = function (Functor0, alt) {\n this.Functor0 = Functor0;\n this.alt = alt;\n }; \n var alt = function (dict) {\n return dict.alt;\n };\n exports[\"Alt\"] = Alt;\n exports[\"alt\"] = alt;\n})(PS[\"Control.Alt\"] = PS[\"Control.Alt\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.arrayApply = function (fs) {\n return function (xs) {\n var l = fs.length;\n var k = xs.length;\n var result = new Array(l*k);\n var n = 0;\n for (var i = 0; i < l; i++) {\n var f = fs[i];\n for (var j = 0; j < k; j++) {\n result[n++] = f(xs[j]);\n }\n }\n return result;\n };\n };\n})(PS[\"Control.Apply\"] = PS[\"Control.Apply\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Control.Apply\"];\n var Control_Category = PS[\"Control.Category\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"]; \n var Apply = function (Functor0, apply) {\n this.Functor0 = Functor0;\n this.apply = apply;\n }; \n var applyArray = new Apply(function () {\n return Data_Functor.functorArray;\n }, $foreign.arrayApply);\n var apply = function (dict) {\n return dict.apply;\n };\n var applySecond = function (dictApply) {\n return function (a) {\n return function (b) {\n return apply(dictApply)(Data_Functor.map(dictApply.Functor0())(Data_Function[\"const\"](Control_Category.identity(Control_Category.categoryFn)))(a))(b);\n };\n };\n };\n var lift2 = function (dictApply) {\n return function (f) {\n return function (a) {\n return function (b) {\n return apply(dictApply)(Data_Functor.map(dictApply.Functor0())(f)(a))(b);\n };\n };\n };\n };\n exports[\"Apply\"] = Apply;\n exports[\"apply\"] = apply;\n exports[\"applySecond\"] = applySecond;\n exports[\"lift2\"] = lift2;\n exports[\"applyArray\"] = applyArray;\n})(PS[\"Control.Apply\"] = PS[\"Control.Apply\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Apply = PS[\"Control.Apply\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Unit = PS[\"Data.Unit\"]; \n var Applicative = function (Apply0, pure) {\n this.Apply0 = Apply0;\n this.pure = pure;\n };\n var pure = function (dict) {\n return dict.pure;\n };\n var unless = function (dictApplicative) {\n return function (v) {\n return function (v1) {\n if (!v) {\n return v1;\n };\n if (v) {\n return pure(dictApplicative)(Data_Unit.unit);\n };\n throw new Error(\"Failed pattern match at Control.Applicative (line 62, column 1 - line 62, column 65): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n };\n var when = function (dictApplicative) {\n return function (v) {\n return function (v1) {\n if (v) {\n return v1;\n };\n if (!v) {\n return pure(dictApplicative)(Data_Unit.unit);\n };\n throw new Error(\"Failed pattern match at Control.Applicative (line 57, column 1 - line 57, column 63): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n };\n var liftA1 = function (dictApplicative) {\n return function (f) {\n return function (a) {\n return Control_Apply.apply(dictApplicative.Apply0())(pure(dictApplicative)(f))(a);\n };\n };\n };\n exports[\"Applicative\"] = Applicative;\n exports[\"pure\"] = pure;\n exports[\"liftA1\"] = liftA1;\n exports[\"unless\"] = unless;\n exports[\"when\"] = when;\n})(PS[\"Control.Applicative\"] = PS[\"Control.Applicative\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.arrayBind = function (arr) {\n return function (f) {\n var result = [];\n for (var i = 0, l = arr.length; i < l; i++) {\n Array.prototype.push.apply(result, f(arr[i]));\n }\n return result;\n };\n };\n})(PS[\"Control.Bind\"] = PS[\"Control.Bind\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Control.Bind\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Category = PS[\"Control.Category\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Unit = PS[\"Data.Unit\"]; \n var Bind = function (Apply0, bind) {\n this.Apply0 = Apply0;\n this.bind = bind;\n };\n var Discard = function (discard) {\n this.discard = discard;\n };\n var discard = function (dict) {\n return dict.discard;\n }; \n var bindArray = new Bind(function () {\n return Control_Apply.applyArray;\n }, $foreign.arrayBind);\n var bind = function (dict) {\n return dict.bind;\n };\n var bindFlipped = function (dictBind) {\n return Data_Function.flip(bind(dictBind));\n };\n var composeKleisliFlipped = function (dictBind) {\n return function (f) {\n return function (g) {\n return function (a) {\n return bindFlipped(dictBind)(f)(g(a));\n };\n };\n };\n };\n var composeKleisli = function (dictBind) {\n return function (f) {\n return function (g) {\n return function (a) {\n return bind(dictBind)(f(a))(g);\n };\n };\n };\n };\n var discardUnit = new Discard(function (dictBind) {\n return bind(dictBind);\n });\n var join = function (dictBind) {\n return function (m) {\n return bind(dictBind)(m)(Control_Category.identity(Control_Category.categoryFn));\n };\n };\n exports[\"Bind\"] = Bind;\n exports[\"bind\"] = bind;\n exports[\"bindFlipped\"] = bindFlipped;\n exports[\"Discard\"] = Discard;\n exports[\"discard\"] = discard;\n exports[\"join\"] = join;\n exports[\"composeKleisli\"] = composeKleisli;\n exports[\"composeKleisliFlipped\"] = composeKleisliFlipped;\n exports[\"bindArray\"] = bindArray;\n exports[\"discardUnit\"] = discardUnit;\n})(PS[\"Control.Bind\"] = PS[\"Control.Bind\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Unit = PS[\"Data.Unit\"]; \n var Monad = function (Applicative0, Bind1) {\n this.Applicative0 = Applicative0;\n this.Bind1 = Bind1;\n };\n var unlessM = function (dictMonad) {\n return function (mb) {\n return function (m) {\n return Control_Bind.bind(dictMonad.Bind1())(mb)(function (v) {\n return Control_Applicative.unless(dictMonad.Applicative0())(v)(m);\n });\n };\n };\n };\n var ap = function (dictMonad) {\n return function (f) {\n return function (a) {\n return Control_Bind.bind(dictMonad.Bind1())(f)(function (v) {\n return Control_Bind.bind(dictMonad.Bind1())(a)(function (v1) {\n return Control_Applicative.pure(dictMonad.Applicative0())(v(v1));\n });\n });\n };\n };\n };\n exports[\"Monad\"] = Monad;\n exports[\"ap\"] = ap;\n exports[\"unlessM\"] = unlessM;\n})(PS[\"Control.Monad\"] = PS[\"Control.Monad\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Data_Functor = PS[\"Data.Functor\"]; \n var Plus = function (Alt0, empty) {\n this.Alt0 = Alt0;\n this.empty = empty;\n }; \n var empty = function (dict) {\n return dict.empty;\n };\n exports[\"Plus\"] = Plus;\n exports[\"empty\"] = empty;\n})(PS[\"Control.Plus\"] = PS[\"Control.Plus\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.topInt = 2147483647;\n exports.bottomInt = -2147483648;\n\n exports.topChar = String.fromCharCode(65535);\n exports.bottomChar = String.fromCharCode(0);\n})(PS[\"Data.Bounded\"] = PS[\"Data.Bounded\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Bounded\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Unit = PS[\"Data.Unit\"]; \n var Bounded = function (Ord0, bottom, top) {\n this.Ord0 = Ord0;\n this.bottom = bottom;\n this.top = top;\n };\n var top = function (dict) {\n return dict.top;\n }; \n var boundedInt = new Bounded(function () {\n return Data_Ord.ordInt;\n }, $foreign.bottomInt, $foreign.topInt);\n var boundedChar = new Bounded(function () {\n return Data_Ord.ordChar;\n }, $foreign.bottomChar, $foreign.topChar);\n var bottom = function (dict) {\n return dict.bottom;\n };\n exports[\"Bounded\"] = Bounded;\n exports[\"bottom\"] = bottom;\n exports[\"top\"] = top;\n exports[\"boundedInt\"] = boundedInt;\n exports[\"boundedChar\"] = boundedChar;\n})(PS[\"Data.Bounded\"] = PS[\"Data.Bounded\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.intDegree = function (x) {\n return Math.min(Math.abs(x), 2147483647);\n };\n\n // See the Euclidean definition in\n // https://en.m.wikipedia.org/wiki/Modulo_operation.\n exports.intDiv = function (x) {\n return function (y) {\n if (y === 0) return 0;\n return y > 0 ? Math.floor(x / y) : -Math.floor(x / -y);\n };\n };\n\n exports.intMod = function (x) {\n return function (y) {\n if (y === 0) return 0;\n var yy = Math.abs(y);\n return ((x % yy) + yy) % yy;\n };\n };\n})(PS[\"Data.EuclideanRing\"] = PS[\"Data.EuclideanRing\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"]; \n var CommutativeRing = function (Ring0) {\n this.Ring0 = Ring0;\n }; \n var commutativeRingInt = new CommutativeRing(function () {\n return Data_Ring.ringInt;\n });\n exports[\"CommutativeRing\"] = CommutativeRing;\n exports[\"commutativeRingInt\"] = commutativeRingInt;\n})(PS[\"Data.CommutativeRing\"] = PS[\"Data.CommutativeRing\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.EuclideanRing\"];\n var Data_BooleanAlgebra = PS[\"Data.BooleanAlgebra\"];\n var Data_CommutativeRing = PS[\"Data.CommutativeRing\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"]; \n var EuclideanRing = function (CommutativeRing0, degree, div, mod) {\n this.CommutativeRing0 = CommutativeRing0;\n this.degree = degree;\n this.div = div;\n this.mod = mod;\n };\n var mod = function (dict) {\n return dict.mod;\n }; \n var euclideanRingInt = new EuclideanRing(function () {\n return Data_CommutativeRing.commutativeRingInt;\n }, $foreign.intDegree, $foreign.intDiv, $foreign.intMod);\n var div = function (dict) {\n return dict.div;\n };\n var degree = function (dict) {\n return dict.degree;\n };\n exports[\"EuclideanRing\"] = EuclideanRing;\n exports[\"degree\"] = degree;\n exports[\"div\"] = div;\n exports[\"mod\"] = mod;\n exports[\"euclideanRingInt\"] = euclideanRingInt;\n})(PS[\"Data.EuclideanRing\"] = PS[\"Data.EuclideanRing\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_EuclideanRing = PS[\"Data.EuclideanRing\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"]; \n var Monoid = function (Semigroup0, mempty) {\n this.Semigroup0 = Semigroup0;\n this.mempty = mempty;\n }; \n var monoidString = new Monoid(function () {\n return Data_Semigroup.semigroupString;\n }, \"\"); \n var monoidArray = new Monoid(function () {\n return Data_Semigroup.semigroupArray;\n }, [ ]);\n var mempty = function (dict) {\n return dict.mempty;\n };\n var monoidFn = function (dictMonoid) {\n return new Monoid(function () {\n return Data_Semigroup.semigroupFn(dictMonoid.Semigroup0());\n }, function (v) {\n return mempty(dictMonoid);\n });\n };\n var guard = function (dictMonoid) {\n return function (v) {\n return function (v1) {\n if (v) {\n return v1;\n };\n if (!v) {\n return mempty(dictMonoid);\n };\n throw new Error(\"Failed pattern match at Data.Monoid (line 74, column 1 - line 74, column 49): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n };\n exports[\"Monoid\"] = Monoid;\n exports[\"mempty\"] = mempty;\n exports[\"guard\"] = guard;\n exports[\"monoidFn\"] = monoidFn;\n exports[\"monoidString\"] = monoidString;\n exports[\"monoidArray\"] = monoidArray;\n})(PS[\"Data.Monoid\"] = PS[\"Data.Monoid\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Invariant = PS[\"Data.Functor.Invariant\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"]; \n var Nothing = (function () {\n function Nothing() {\n\n };\n Nothing.value = new Nothing();\n return Nothing;\n })();\n var Just = (function () {\n function Just(value0) {\n this.value0 = value0;\n };\n Just.create = function (value0) {\n return new Just(value0);\n };\n return Just;\n })();\n var maybe = function (v) {\n return function (v1) {\n return function (v2) {\n if (v2 instanceof Nothing) {\n return v;\n };\n if (v2 instanceof Just) {\n return v1(v2.value0);\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 217, column 1 - line 217, column 51): \" + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);\n };\n };\n };\n var isNothing = maybe(true)(Data_Function[\"const\"](false));\n var isJust = maybe(false)(Data_Function[\"const\"](true));\n var functorMaybe = new Data_Functor.Functor(function (v) {\n return function (v1) {\n if (v1 instanceof Just) {\n return new Just(v(v1.value0));\n };\n return Nothing.value;\n };\n });\n var fromMaybe = function (a) {\n return maybe(a)(Control_Category.identity(Control_Category.categoryFn));\n };\n var fromJust = function (dictPartial) {\n return function (v) {\n if (v instanceof Just) {\n return v.value0;\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 268, column 1 - line 268, column 46): \" + [ v.constructor.name ]);\n };\n }; \n var eqMaybe = function (dictEq) {\n return new Data_Eq.Eq(function (x) {\n return function (y) {\n if (x instanceof Nothing && y instanceof Nothing) {\n return true;\n };\n if (x instanceof Just && y instanceof Just) {\n return Data_Eq.eq(dictEq)(x.value0)(y.value0);\n };\n return false;\n };\n });\n };\n var applyMaybe = new Control_Apply.Apply(function () {\n return functorMaybe;\n }, function (v) {\n return function (v1) {\n if (v instanceof Just) {\n return Data_Functor.map(functorMaybe)(v.value0)(v1);\n };\n if (v instanceof Nothing) {\n return Nothing.value;\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 67, column 1 - line 67, column 35): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n var bindMaybe = new Control_Bind.Bind(function () {\n return applyMaybe;\n }, function (v) {\n return function (v1) {\n if (v instanceof Just) {\n return v1(v.value0);\n };\n if (v instanceof Nothing) {\n return Nothing.value;\n };\n throw new Error(\"Failed pattern match at Data.Maybe (line 125, column 1 - line 125, column 33): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n exports[\"Nothing\"] = Nothing;\n exports[\"Just\"] = Just;\n exports[\"maybe\"] = maybe;\n exports[\"fromMaybe\"] = fromMaybe;\n exports[\"isJust\"] = isJust;\n exports[\"isNothing\"] = isNothing;\n exports[\"fromJust\"] = fromJust;\n exports[\"functorMaybe\"] = functorMaybe;\n exports[\"applyMaybe\"] = applyMaybe;\n exports[\"bindMaybe\"] = bindMaybe;\n exports[\"eqMaybe\"] = eqMaybe;\n})(PS[\"Data.Maybe\"] = PS[\"Data.Maybe\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.empty = {};\n\n exports._lookup = function (no, yes, k, m) {\n return k in m ? yes(m[k]) : no;\n };\n\n function toArrayWithKey(f) {\n return function (m) {\n var r = [];\n for (var k in m) {\n if (hasOwnProperty.call(m, k)) {\n r.push(f(k)(m[k]));\n }\n }\n return r;\n };\n }\n})(PS[\"Foreign.Object\"] = PS[\"Foreign.Object\"] || {});\n(function(exports) {\n \"use strict\";\n\n //------------------------------------------------------------------------------\n // Array size ------------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.length = function (xs) {\n return xs.length;\n };\n\n //------------------------------------------------------------------------------\n // Extending arrays ------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.cons = function (e) {\n return function (l) {\n return [e].concat(l);\n };\n };\n\n exports.snoc = function (l) {\n return function (e) {\n var l1 = l.slice();\n l1.push(e);\n return l1;\n };\n };\n\n exports.concat = function (xss) {\n if (xss.length <= 10000) {\n // This method is faster, but it crashes on big arrays.\n // So we use it when can and fallback to simple variant otherwise.\n return Array.prototype.concat.apply([], xss);\n }\n\n var result = [];\n for (var i = 0, l = xss.length; i < l; i++) {\n var xs = xss[i];\n for (var j = 0, m = xs.length; j < m; j++) {\n result.push(xs[j]);\n }\n }\n return result;\n };\n\n exports.filter = function (f) {\n return function (xs) {\n return xs.filter(f);\n };\n };\n\n //------------------------------------------------------------------------------\n // Subarrays -------------------------------------------------------------------\n //------------------------------------------------------------------------------\n\n exports.slice = function (s) {\n return function (e) {\n return function (l) {\n return l.slice(s, e);\n };\n };\n };\n\n exports.drop = function (n) {\n return function (l) {\n return n < 1 ? l : l.slice(n);\n };\n };\n})(PS[\"Data.Array\"] = PS[\"Data.Array\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"]; \n var Bifunctor = function (bimap) {\n this.bimap = bimap;\n };\n var bimap = function (dict) {\n return dict.bimap;\n };\n var rmap = function (dictBifunctor) {\n return bimap(dictBifunctor)(Control_Category.identity(Control_Category.categoryFn));\n };\n exports[\"bimap\"] = bimap;\n exports[\"Bifunctor\"] = Bifunctor;\n exports[\"rmap\"] = rmap;\n})(PS[\"Data.Bifunctor\"] = PS[\"Data.Bifunctor\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.foldrArray = function (f) {\n return function (init) {\n return function (xs) {\n var acc = init;\n var len = xs.length;\n for (var i = len - 1; i >= 0; i--) {\n acc = f(xs[i])(acc);\n }\n return acc;\n };\n };\n };\n\n exports.foldlArray = function (f) {\n return function (init) {\n return function (xs) {\n var acc = init;\n var len = xs.length;\n for (var i = 0; i < len; i++) {\n acc = f(acc)(xs[i]);\n }\n return acc;\n };\n };\n };\n})(PS[\"Data.Foldable\"] = PS[\"Data.Foldable\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Prelude = PS[\"Prelude\"]; \n var Disj = function (x) {\n return x;\n };\n var semigroupDisj = function (dictHeytingAlgebra) {\n return new Data_Semigroup.Semigroup(function (v) {\n return function (v1) {\n return Data_HeytingAlgebra.disj(dictHeytingAlgebra)(v)(v1);\n };\n });\n };\n var monoidDisj = function (dictHeytingAlgebra) {\n return new Data_Monoid.Monoid(function () {\n return semigroupDisj(dictHeytingAlgebra);\n }, Data_HeytingAlgebra.ff(dictHeytingAlgebra));\n };\n exports[\"Disj\"] = Disj;\n exports[\"semigroupDisj\"] = semigroupDisj;\n exports[\"monoidDisj\"] = monoidDisj;\n})(PS[\"Data.Monoid.Disj\"] = PS[\"Data.Monoid.Disj\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Monoid_Additive = PS[\"Data.Monoid.Additive\"];\n var Data_Monoid_Conj = PS[\"Data.Monoid.Conj\"];\n var Data_Monoid_Disj = PS[\"Data.Monoid.Disj\"];\n var Data_Monoid_Dual = PS[\"Data.Monoid.Dual\"];\n var Data_Monoid_Endo = PS[\"Data.Monoid.Endo\"];\n var Data_Monoid_Multiplicative = PS[\"Data.Monoid.Multiplicative\"];\n var Data_Semigroup_First = PS[\"Data.Semigroup.First\"];\n var Data_Semigroup_Last = PS[\"Data.Semigroup.Last\"];\n var Prelude = PS[\"Prelude\"]; \n var Newtype = function (unwrap, wrap) {\n this.unwrap = unwrap;\n this.wrap = wrap;\n };\n var wrap = function (dict) {\n return dict.wrap;\n };\n var unwrap = function (dict) {\n return dict.unwrap;\n }; \n var newtypeDisj = new Newtype(function (v) {\n return v;\n }, Data_Monoid_Disj.Disj);\n var alaF = function (dictFunctor) {\n return function (dictFunctor1) {\n return function (dictNewtype) {\n return function (dictNewtype1) {\n return function (v) {\n return function (f) {\n return function ($80) {\n return Data_Functor.map(dictFunctor1)(unwrap(dictNewtype1))(f(Data_Functor.map(dictFunctor)(wrap(dictNewtype))($80)));\n };\n };\n };\n };\n };\n };\n };\n exports[\"unwrap\"] = unwrap;\n exports[\"wrap\"] = wrap;\n exports[\"Newtype\"] = Newtype;\n exports[\"alaF\"] = alaF;\n exports[\"newtypeDisj\"] = newtypeDisj;\n})(PS[\"Data.Newtype\"] = PS[\"Data.Newtype\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Foldable\"];\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Maybe_First = PS[\"Data.Maybe.First\"];\n var Data_Maybe_Last = PS[\"Data.Maybe.Last\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Monoid_Additive = PS[\"Data.Monoid.Additive\"];\n var Data_Monoid_Conj = PS[\"Data.Monoid.Conj\"];\n var Data_Monoid_Disj = PS[\"Data.Monoid.Disj\"];\n var Data_Monoid_Dual = PS[\"Data.Monoid.Dual\"];\n var Data_Monoid_Endo = PS[\"Data.Monoid.Endo\"];\n var Data_Monoid_Multiplicative = PS[\"Data.Monoid.Multiplicative\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"]; \n var Foldable = function (foldMap, foldl, foldr) {\n this.foldMap = foldMap;\n this.foldl = foldl;\n this.foldr = foldr;\n };\n var foldr = function (dict) {\n return dict.foldr;\n };\n var traverse_ = function (dictApplicative) {\n return function (dictFoldable) {\n return function (f) {\n return foldr(dictFoldable)(function ($195) {\n return Control_Apply.applySecond(dictApplicative.Apply0())(f($195));\n })(Control_Applicative.pure(dictApplicative)(Data_Unit.unit));\n };\n };\n };\n var for_ = function (dictApplicative) {\n return function (dictFoldable) {\n return Data_Function.flip(traverse_(dictApplicative)(dictFoldable));\n };\n };\n var foldl = function (dict) {\n return dict.foldl;\n }; \n var foldableMaybe = new Foldable(function (dictMonoid) {\n return function (f) {\n return function (v) {\n if (v instanceof Data_Maybe.Nothing) {\n return Data_Monoid.mempty(dictMonoid);\n };\n if (v instanceof Data_Maybe.Just) {\n return f(v.value0);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 129, column 1 - line 129, column 41): \" + [ f.constructor.name, v.constructor.name ]);\n };\n };\n }, function (v) {\n return function (z) {\n return function (v1) {\n if (v1 instanceof Data_Maybe.Nothing) {\n return z;\n };\n if (v1 instanceof Data_Maybe.Just) {\n return v(z)(v1.value0);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 129, column 1 - line 129, column 41): \" + [ v.constructor.name, z.constructor.name, v1.constructor.name ]);\n };\n };\n }, function (v) {\n return function (z) {\n return function (v1) {\n if (v1 instanceof Data_Maybe.Nothing) {\n return z;\n };\n if (v1 instanceof Data_Maybe.Just) {\n return v(v1.value0)(z);\n };\n throw new Error(\"Failed pattern match at Data.Foldable (line 129, column 1 - line 129, column 41): \" + [ v.constructor.name, z.constructor.name, v1.constructor.name ]);\n };\n };\n });\n var foldMapDefaultR = function (dictFoldable) {\n return function (dictMonoid) {\n return function (f) {\n return foldr(dictFoldable)(function (x) {\n return function (acc) {\n return Data_Semigroup.append(dictMonoid.Semigroup0())(f(x))(acc);\n };\n })(Data_Monoid.mempty(dictMonoid));\n };\n };\n };\n var foldableArray = new Foldable(function (dictMonoid) {\n return foldMapDefaultR(foldableArray)(dictMonoid);\n }, $foreign.foldlArray, $foreign.foldrArray);\n var foldMap = function (dict) {\n return dict.foldMap;\n };\n var find = function (dictFoldable) {\n return function (p) {\n var go = function (v) {\n return function (v1) {\n if (v instanceof Data_Maybe.Nothing && p(v1)) {\n return new Data_Maybe.Just(v1);\n };\n return v;\n };\n };\n return foldl(dictFoldable)(go)(Data_Maybe.Nothing.value);\n };\n };\n var any = function (dictFoldable) {\n return function (dictHeytingAlgebra) {\n return Data_Newtype.alaF(Data_Functor.functorFn)(Data_Functor.functorFn)(Data_Newtype.newtypeDisj)(Data_Newtype.newtypeDisj)(Data_Monoid_Disj.Disj)(foldMap(dictFoldable)(Data_Monoid_Disj.monoidDisj(dictHeytingAlgebra)));\n };\n };\n exports[\"Foldable\"] = Foldable;\n exports[\"foldr\"] = foldr;\n exports[\"foldl\"] = foldl;\n exports[\"foldMap\"] = foldMap;\n exports[\"foldMapDefaultR\"] = foldMapDefaultR;\n exports[\"traverse_\"] = traverse_;\n exports[\"for_\"] = for_;\n exports[\"any\"] = any;\n exports[\"find\"] = find;\n exports[\"foldableArray\"] = foldableArray;\n exports[\"foldableMaybe\"] = foldableMaybe;\n})(PS[\"Data.Foldable\"] = PS[\"Data.Foldable\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifoldable = PS[\"Data.Bifoldable\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Bitraversable = PS[\"Data.Bitraversable\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Invariant = PS[\"Data.Functor.Invariant\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"]; \n var Left = (function () {\n function Left(value0) {\n this.value0 = value0;\n };\n Left.create = function (value0) {\n return new Left(value0);\n };\n return Left;\n })();\n var Right = (function () {\n function Right(value0) {\n this.value0 = value0;\n };\n Right.create = function (value0) {\n return new Right(value0);\n };\n return Right;\n })();\n var functorEither = new Data_Functor.Functor(function (f) {\n return function (m) {\n if (m instanceof Left) {\n return new Left(m.value0);\n };\n if (m instanceof Right) {\n return new Right(f(m.value0));\n };\n throw new Error(\"Failed pattern match at Data.Either (line 38, column 8 - line 38, column 52): \" + [ m.constructor.name ]);\n };\n });\n var either = function (v) {\n return function (v1) {\n return function (v2) {\n if (v2 instanceof Left) {\n return v(v2.value0);\n };\n if (v2 instanceof Right) {\n return v1(v2.value0);\n };\n throw new Error(\"Failed pattern match at Data.Either (line 238, column 1 - line 238, column 64): \" + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);\n };\n };\n };\n var bifunctorEither = new Data_Bifunctor.Bifunctor(function (v) {\n return function (v1) {\n return function (v2) {\n if (v2 instanceof Left) {\n return new Left(v(v2.value0));\n };\n if (v2 instanceof Right) {\n return new Right(v1(v2.value0));\n };\n throw new Error(\"Failed pattern match at Data.Either (line 46, column 1 - line 46, column 45): \" + [ v.constructor.name, v1.constructor.name, v2.constructor.name ]);\n };\n };\n });\n var applyEither = new Control_Apply.Apply(function () {\n return functorEither;\n }, function (v) {\n return function (v1) {\n if (v instanceof Left) {\n return new Left(v.value0);\n };\n if (v instanceof Right) {\n return Data_Functor.map(functorEither)(v.value0)(v1);\n };\n throw new Error(\"Failed pattern match at Data.Either (line 82, column 1 - line 82, column 41): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n exports[\"Left\"] = Left;\n exports[\"Right\"] = Right;\n exports[\"either\"] = either;\n exports[\"functorEither\"] = functorEither;\n exports[\"bifunctorEither\"] = bifunctorEither;\n exports[\"applyEither\"] = applyEither;\n})(PS[\"Data.Either\"] = PS[\"Data.Either\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Comonad = PS[\"Control.Comonad\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Lazy = PS[\"Control.Lazy\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Data_BooleanAlgebra = PS[\"Data.BooleanAlgebra\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_CommutativeRing = PS[\"Data.CommutativeRing\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_EuclideanRing = PS[\"Data.EuclideanRing\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Invariant = PS[\"Data.Functor.Invariant\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"]; \n var Identity = function (x) {\n return x;\n };\n var newtypeIdentity = new Data_Newtype.Newtype(function (n) {\n return n;\n }, Identity);\n var functorIdentity = new Data_Functor.Functor(function (f) {\n return function (m) {\n return f(m);\n };\n });\n var applyIdentity = new Control_Apply.Apply(function () {\n return functorIdentity;\n }, function (v) {\n return function (v1) {\n return v(v1);\n };\n });\n var bindIdentity = new Control_Bind.Bind(function () {\n return applyIdentity;\n }, function (v) {\n return function (f) {\n return f(v);\n };\n });\n var applicativeIdentity = new Control_Applicative.Applicative(function () {\n return applyIdentity;\n }, Identity);\n var monadIdentity = new Control_Monad.Monad(function () {\n return applicativeIdentity;\n }, function () {\n return bindIdentity;\n });\n exports[\"Identity\"] = Identity;\n exports[\"newtypeIdentity\"] = newtypeIdentity;\n exports[\"functorIdentity\"] = functorIdentity;\n exports[\"applyIdentity\"] = applyIdentity;\n exports[\"applicativeIdentity\"] = applicativeIdentity;\n exports[\"bindIdentity\"] = bindIdentity;\n exports[\"monadIdentity\"] = monadIdentity;\n})(PS[\"Data.Identity\"] = PS[\"Data.Identity\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.pureE = function (a) {\n return function () {\n return a;\n };\n };\n\n exports.bindE = function (a) {\n return function (f) {\n return function () {\n return f(a())();\n };\n };\n };\n})(PS[\"Effect\"] = PS[\"Effect\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Prelude = PS[\"Prelude\"]; \n var monadEffect = new Control_Monad.Monad(function () {\n return applicativeEffect;\n }, function () {\n return bindEffect;\n });\n var bindEffect = new Control_Bind.Bind(function () {\n return applyEffect;\n }, $foreign.bindE);\n var applyEffect = new Control_Apply.Apply(function () {\n return functorEffect;\n }, Control_Monad.ap(monadEffect));\n var applicativeEffect = new Control_Applicative.Applicative(function () {\n return applyEffect;\n }, $foreign.pureE);\n var functorEffect = new Data_Functor.Functor(Control_Applicative.liftA1(applicativeEffect));\n exports[\"functorEffect\"] = functorEffect;\n exports[\"applyEffect\"] = applyEffect;\n exports[\"applicativeEffect\"] = applicativeEffect;\n exports[\"bindEffect\"] = bindEffect;\n exports[\"monadEffect\"] = monadEffect;\n})(PS[\"Effect\"] = PS[\"Effect\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.new = function (val) {\n return function () {\n return { value: val };\n };\n };\n\n exports.read = function (ref) {\n return function () {\n return ref.value;\n };\n };\n\n exports[\"modify'\"] = function (f) {\n return function (ref) {\n return function () {\n var t = f(ref.value);\n ref.value = t.state;\n return t.value;\n };\n };\n };\n\n exports.write = function (val) {\n return function (ref) {\n return function () {\n ref.value = val;\n return {};\n };\n };\n };\n})(PS[\"Effect.Ref\"] = PS[\"Effect.Ref\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.Ref\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"]; \n var modify = function (f) {\n return $foreign[\"modify'\"](function (s) {\n var s$prime = f(s);\n return {\n state: s$prime,\n value: s$prime\n };\n });\n };\n var modify_ = function (f) {\n return function (s) {\n return Data_Functor[\"void\"](Effect.functorEffect)(modify(f)(s));\n };\n };\n exports[\"modify\"] = modify;\n exports[\"modify_\"] = modify_;\n exports[\"new\"] = $foreign[\"new\"];\n exports[\"read\"] = $foreign.read;\n exports[\"modify'\"] = $foreign[\"modify'\"];\n exports[\"write\"] = $foreign.write;\n})(PS[\"Effect.Ref\"] = PS[\"Effect.Ref\"] || {});\n(function(exports) {\n \"use strict\";\n\n // module Partial.Unsafe\n\n exports.unsafePartial = function (f) {\n return f();\n };\n})(PS[\"Partial.Unsafe\"] = PS[\"Partial.Unsafe\"] || {});\n(function(exports) {\n \"use strict\";\n\n // module Partial\n\n exports.crashWith = function () {\n return function (msg) {\n throw new Error(msg);\n };\n };\n})(PS[\"Partial\"] = PS[\"Partial\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Partial\"];\n exports[\"crashWith\"] = $foreign.crashWith;\n})(PS[\"Partial\"] = PS[\"Partial\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Partial.Unsafe\"];\n var Partial = PS[\"Partial\"];\n var unsafeCrashWith = function (msg) {\n return $foreign.unsafePartial(function (dictPartial) {\n return Partial.crashWith(dictPartial)(msg);\n });\n };\n exports[\"unsafeCrashWith\"] = unsafeCrashWith;\n})(PS[\"Partial.Unsafe\"] = PS[\"Partial.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"]; \n var Loop = (function () {\n function Loop(value0) {\n this.value0 = value0;\n };\n Loop.create = function (value0) {\n return new Loop(value0);\n };\n return Loop;\n })();\n var Done = (function () {\n function Done(value0) {\n this.value0 = value0;\n };\n Done.create = function (value0) {\n return new Done(value0);\n };\n return Done;\n })();\n var MonadRec = function (Monad0, tailRecM) {\n this.Monad0 = Monad0;\n this.tailRecM = tailRecM;\n };\n var tailRecM = function (dict) {\n return dict.tailRecM;\n }; \n var monadRecEffect = new MonadRec(function () {\n return Effect.monadEffect;\n }, function (f) {\n return function (a) {\n var fromDone = function (v) {\n if (v instanceof Done) {\n return v.value0;\n };\n throw new Error(\"Failed pattern match at Control.Monad.Rec.Class (line 111, column 30 - line 111, column 44): \" + [ v.constructor.name ]);\n };\n return function __do() {\n var v = Control_Bind.bindFlipped(Effect.bindEffect)(Effect_Ref[\"new\"])(f(a))();\n (function () {\n while (!(function __do() {\n var v1 = Effect_Ref.read(v)();\n if (v1 instanceof Loop) {\n var v2 = f(v1.value0)();\n var v3 = Effect_Ref.write(v2)(v)();\n return false;\n };\n if (v1 instanceof Done) {\n return true;\n };\n throw new Error(\"Failed pattern match at Control.Monad.Rec.Class (line 102, column 22 - line 107, column 28): \" + [ v1.constructor.name ]);\n })()) {\n\n };\n return {};\n })();\n return Data_Functor.map(Effect.functorEffect)(fromDone)(Effect_Ref.read(v))();\n };\n };\n });\n exports[\"Loop\"] = Loop;\n exports[\"Done\"] = Done;\n exports[\"MonadRec\"] = MonadRec;\n exports[\"tailRecM\"] = tailRecM;\n exports[\"monadRecEffect\"] = monadRecEffect;\n})(PS[\"Control.Monad.Rec.Class\"] = PS[\"Control.Monad.Rec.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Biapplicative = PS[\"Control.Biapplicative\"];\n var Control_Biapply = PS[\"Control.Biapply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Comonad = PS[\"Control.Comonad\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Lazy = PS[\"Control.Lazy\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifoldable = PS[\"Data.Bifoldable\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Bitraversable = PS[\"Data.Bitraversable\"];\n var Data_BooleanAlgebra = PS[\"Data.BooleanAlgebra\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_CommutativeRing = PS[\"Data.CommutativeRing\"];\n var Data_Distributive = PS[\"Data.Distributive\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Invariant = PS[\"Data.Functor.Invariant\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Maybe_First = PS[\"Data.Maybe.First\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"];\n var Type_Equality = PS[\"Type.Equality\"]; \n var Tuple = (function () {\n function Tuple(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Tuple.create = function (value0) {\n return function (value1) {\n return new Tuple(value0, value1);\n };\n };\n return Tuple;\n })();\n var snd = function (v) {\n return v.value1;\n };\n var functorTuple = new Data_Functor.Functor(function (f) {\n return function (m) {\n return new Tuple(m.value0, f(m.value1));\n };\n }); \n var fst = function (v) {\n return v.value0;\n }; \n var eqTuple = function (dictEq) {\n return function (dictEq1) {\n return new Data_Eq.Eq(function (x) {\n return function (y) {\n return Data_Eq.eq(dictEq)(x.value0)(y.value0) && Data_Eq.eq(dictEq1)(x.value1)(y.value1);\n };\n });\n };\n };\n var ordTuple = function (dictOrd) {\n return function (dictOrd1) {\n return new Data_Ord.Ord(function () {\n return eqTuple(dictOrd.Eq0())(dictOrd1.Eq0());\n }, function (x) {\n return function (y) {\n var v = Data_Ord.compare(dictOrd)(x.value0)(y.value0);\n if (v instanceof Data_Ordering.LT) {\n return Data_Ordering.LT.value;\n };\n if (v instanceof Data_Ordering.GT) {\n return Data_Ordering.GT.value;\n };\n return Data_Ord.compare(dictOrd1)(x.value1)(y.value1);\n };\n });\n };\n };\n exports[\"Tuple\"] = Tuple;\n exports[\"fst\"] = fst;\n exports[\"snd\"] = snd;\n exports[\"eqTuple\"] = eqTuple;\n exports[\"ordTuple\"] = ordTuple;\n exports[\"functorTuple\"] = functorTuple;\n})(PS[\"Data.Tuple\"] = PS[\"Data.Tuple\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unfoldrArrayImpl = function (isNothing) {\n return function (fromJust) {\n return function (fst) {\n return function (snd) {\n return function (f) {\n return function (b) {\n var result = [];\n var value = b;\n while (true) { // eslint-disable-line no-constant-condition\n var maybe = f(value);\n if (isNothing(maybe)) return result;\n var tuple = fromJust(maybe);\n result.push(fst(tuple));\n value = snd(tuple);\n }\n };\n };\n };\n };\n };\n };\n})(PS[\"Data.Unfoldable\"] = PS[\"Data.Unfoldable\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unfoldr1ArrayImpl = function (isNothing) {\n return function (fromJust) {\n return function (fst) {\n return function (snd) {\n return function (f) {\n return function (b) {\n var result = [];\n var value = b;\n while (true) { // eslint-disable-line no-constant-condition\n var tuple = f(value);\n result.push(fst(tuple));\n var maybe = snd(tuple);\n if (isNothing(maybe)) return result;\n value = fromJust(maybe);\n }\n };\n };\n };\n };\n };\n };\n})(PS[\"Data.Unfoldable1\"] = PS[\"Data.Unfoldable1\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Unfoldable1\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"]; \n var Unfoldable1 = function (unfoldr1) {\n this.unfoldr1 = unfoldr1;\n };\n var unfoldr1 = function (dict) {\n return dict.unfoldr1;\n };\n var unfoldable1Array = new Unfoldable1($foreign.unfoldr1ArrayImpl(Data_Maybe.isNothing)(Data_Maybe.fromJust())(Data_Tuple.fst)(Data_Tuple.snd));\n exports[\"Unfoldable1\"] = Unfoldable1;\n exports[\"unfoldr1\"] = unfoldr1;\n exports[\"unfoldable1Array\"] = unfoldable1Array;\n})(PS[\"Data.Unfoldable1\"] = PS[\"Data.Unfoldable1\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Unfoldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"]; \n var Unfoldable = function (Unfoldable10, unfoldr) {\n this.Unfoldable10 = Unfoldable10;\n this.unfoldr = unfoldr;\n };\n var unfoldr = function (dict) {\n return dict.unfoldr;\n };\n var unfoldableArray = new Unfoldable(function () {\n return Data_Unfoldable1.unfoldable1Array;\n }, $foreign.unfoldrArrayImpl(Data_Maybe.isNothing)(Data_Maybe.fromJust())(Data_Tuple.fst)(Data_Tuple.snd));\n exports[\"Unfoldable\"] = Unfoldable;\n exports[\"unfoldr\"] = unfoldr;\n exports[\"unfoldableArray\"] = unfoldableArray;\n})(PS[\"Data.Unfoldable\"] = PS[\"Data.Unfoldable\"] || {});\n(function(exports) {\n \"use strict\";\n\n // module Unsafe.Coerce\n\n exports.unsafeCoerce = function (x) {\n return x;\n };\n})(PS[\"Unsafe.Coerce\"] = PS[\"Unsafe.Coerce\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Unsafe.Coerce\"];\n exports[\"unsafeCoerce\"] = $foreign.unsafeCoerce;\n})(PS[\"Unsafe.Coerce\"] = PS[\"Unsafe.Coerce\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Array\"];\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Lazy = PS[\"Control.Lazy\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_ST = PS[\"Control.Monad.ST\"];\n var Control_Monad_ST_Internal = PS[\"Control.Monad.ST.Internal\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Array_NonEmpty_Internal = PS[\"Data.Array.NonEmpty.Internal\"];\n var Data_Array_ST = PS[\"Data.Array.ST\"];\n var Data_Array_ST_Iterator = PS[\"Data.Array.ST.Iterator\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var singleton = function (a) {\n return [ a ];\n };\n var concatMap = Data_Function.flip(Control_Bind.bind(Control_Bind.bindArray));\n var mapMaybe = function (f) {\n return concatMap(function ($114) {\n return Data_Maybe.maybe([ ])(singleton)(f($114));\n });\n };\n exports[\"singleton\"] = singleton;\n exports[\"concatMap\"] = concatMap;\n exports[\"mapMaybe\"] = mapMaybe;\n exports[\"length\"] = $foreign.length;\n exports[\"cons\"] = $foreign.cons;\n exports[\"snoc\"] = $foreign.snoc;\n exports[\"filter\"] = $foreign.filter;\n exports[\"drop\"] = $foreign.drop;\n})(PS[\"Data.Array\"] = PS[\"Data.Array\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports[\"new\"] = function () {\n return {};\n };\n})(PS[\"Foreign.Object.ST\"] = PS[\"Foreign.Object.ST\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Foreign.Object.ST\"];\n var Control_Monad_ST = PS[\"Control.Monad.ST\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n exports[\"new\"] = $foreign[\"new\"];\n})(PS[\"Foreign.Object.ST\"] = PS[\"Foreign.Object.ST\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Foreign.Object\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad_ST = PS[\"Control.Monad.ST\"];\n var Control_Monad_ST_Internal = PS[\"Control.Monad.ST.Internal\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Foreign_Object_ST = PS[\"Foreign.Object.ST\"];\n var Prelude = PS[\"Prelude\"];\n var Type_Row_Homogeneous = PS[\"Type.Row.Homogeneous\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var lookup = Data_Function_Uncurried.runFn4($foreign[\"_lookup\"])(Data_Maybe.Nothing.value)(Data_Maybe.Just.create);\n exports[\"lookup\"] = lookup;\n exports[\"empty\"] = $foreign.empty;\n})(PS[\"Foreign.Object\"] = PS[\"Foreign.Object\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Argonaut.Core\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Foreign_Object = PS[\"Foreign.Object\"];\n var Prelude = PS[\"Prelude\"]; \n var jsonEmptyObject = $foreign.fromObject(Foreign_Object.empty);\n exports[\"jsonEmptyObject\"] = jsonEmptyObject;\n exports[\"stringify\"] = $foreign.stringify;\n})(PS[\"Data.Argonaut.Core\"] = PS[\"Data.Argonaut.Core\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.replace = function (s1) {\n return function (s2) {\n return function (s3) {\n return s3.replace(s1, s2);\n };\n };\n };\n\n exports.replaceAll = function (s1) {\n return function (s2) {\n return function (s3) {\n return s3.replace(new RegExp(s1.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\"), \"g\"), s2); // eslint-disable-line no-useless-escape\n };\n };\n };\n\n exports.split = function (sep) {\n return function (s) {\n return s.split(sep);\n };\n };\n\n exports.joinWith = function (s) {\n return function (xs) {\n return xs.join(s);\n };\n };\n})(PS[\"Data.String.Common\"] = PS[\"Data.String.Common\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.String.Common\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Prelude = PS[\"Prelude\"]; \n var $$null = function (s) {\n return s === \"\";\n };\n exports[\"null\"] = $$null;\n exports[\"replaceAll\"] = $foreign.replaceAll;\n exports[\"split\"] = $foreign.split;\n exports[\"joinWith\"] = $foreign.joinWith;\n})(PS[\"Data.String.Common\"] = PS[\"Data.String.Common\"] || {});\n(function(exports) {\n /* globals exports, JSON */\n \"use strict\";\n\n exports.unsafeStringify = function (x) {\n return JSON.stringify(x);\n }; \n exports.unsafeDecodeURIComponent = decodeURIComponent;\n exports.unsafeEncodeURIComponent = encodeURIComponent;\n})(PS[\"Global.Unsafe\"] = PS[\"Global.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Global.Unsafe\"];\n exports[\"unsafeStringify\"] = $foreign.unsafeStringify;\n exports[\"unsafeDecodeURIComponent\"] = $foreign.unsafeDecodeURIComponent;\n exports[\"unsafeEncodeURIComponent\"] = $foreign.unsafeEncodeURIComponent;\n})(PS[\"Global.Unsafe\"] = PS[\"Global.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Global_Unsafe = PS[\"Global.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var toArray = function (v) {\n return v;\n }; \n var encode = (function () {\n var encodePart = function (v) {\n if (v.value1 instanceof Data_Maybe.Nothing) {\n return Global_Unsafe.unsafeEncodeURIComponent(v.value0);\n };\n if (v.value1 instanceof Data_Maybe.Just) {\n return Global_Unsafe.unsafeEncodeURIComponent(v.value0) + (\"=\" + Global_Unsafe.unsafeEncodeURIComponent(v.value1.value0));\n };\n throw new Error(\"Failed pattern match at Data.FormURLEncoded (line 35, column 18 - line 37, column 89): \" + [ v.constructor.name ]);\n };\n return function ($14) {\n return Data_String_Common.joinWith(\"&\")(Data_Functor.map(Data_Functor.functorArray)(encodePart)(toArray($14)));\n };\n })();\n exports[\"toArray\"] = toArray;\n exports[\"encode\"] = encode;\n})(PS[\"Data.FormURLEncoded\"] = PS[\"Data.FormURLEncoded\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Prelude = PS[\"Prelude\"]; \n var MediaType = function (x) {\n return x;\n }; \n var newtypeMediaType = new Data_Newtype.Newtype(function (n) {\n return n;\n }, MediaType);\n exports[\"MediaType\"] = MediaType;\n exports[\"newtypeMediaType\"] = newtypeMediaType;\n})(PS[\"Data.MediaType\"] = PS[\"Data.MediaType\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_MediaType = PS[\"Data.MediaType\"]; \n var applicationJSON = \"application/json\";\n var applicationFormURLEncoded = \"application/x-www-form-urlencoded\";\n exports[\"applicationFormURLEncoded\"] = applicationFormURLEncoded;\n exports[\"applicationJSON\"] = applicationJSON;\n})(PS[\"Data.MediaType.Common\"] = PS[\"Data.MediaType.Common\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Argonaut_Core = PS[\"Data.Argonaut.Core\"];\n var Data_ArrayBuffer_Types = PS[\"Data.ArrayBuffer.Types\"];\n var Data_FormURLEncoded = PS[\"Data.FormURLEncoded\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_MediaType = PS[\"Data.MediaType\"];\n var Data_MediaType_Common = PS[\"Data.MediaType.Common\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_File_Blob = PS[\"Web.File.Blob\"];\n var Web_XHR_FormData = PS[\"Web.XHR.FormData\"]; \n var ArrayView = (function () {\n function ArrayView(value0) {\n this.value0 = value0;\n };\n ArrayView.create = function (value0) {\n return new ArrayView(value0);\n };\n return ArrayView;\n })();\n var Blob = (function () {\n function Blob(value0) {\n this.value0 = value0;\n };\n Blob.create = function (value0) {\n return new Blob(value0);\n };\n return Blob;\n })();\n var Document = (function () {\n function Document(value0) {\n this.value0 = value0;\n };\n Document.create = function (value0) {\n return new Document(value0);\n };\n return Document;\n })();\n var $$String = (function () {\n function $$String(value0) {\n this.value0 = value0;\n };\n $$String.create = function (value0) {\n return new $$String(value0);\n };\n return $$String;\n })();\n var FormData = (function () {\n function FormData(value0) {\n this.value0 = value0;\n };\n FormData.create = function (value0) {\n return new FormData(value0);\n };\n return FormData;\n })();\n var FormURLEncoded = (function () {\n function FormURLEncoded(value0) {\n this.value0 = value0;\n };\n FormURLEncoded.create = function (value0) {\n return new FormURLEncoded(value0);\n };\n return FormURLEncoded;\n })();\n var Json = (function () {\n function Json(value0) {\n this.value0 = value0;\n };\n Json.create = function (value0) {\n return new Json(value0);\n };\n return Json;\n })();\n var toMediaType = function (v) {\n if (v instanceof FormURLEncoded) {\n return new Data_Maybe.Just(Data_MediaType_Common.applicationFormURLEncoded);\n };\n if (v instanceof Json) {\n return new Data_Maybe.Just(Data_MediaType_Common.applicationJSON);\n };\n return Data_Maybe.Nothing.value;\n };\n var string = $$String.create;\n exports[\"ArrayView\"] = ArrayView;\n exports[\"Blob\"] = Blob;\n exports[\"Document\"] = Document;\n exports[\"String\"] = $$String;\n exports[\"FormData\"] = FormData;\n exports[\"FormURLEncoded\"] = FormURLEncoded;\n exports[\"Json\"] = Json;\n exports[\"string\"] = string;\n exports[\"toMediaType\"] = toMediaType;\n})(PS[\"Affjax.RequestBody\"] = PS[\"Affjax.RequestBody\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_MediaType = PS[\"Data.MediaType\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Prelude = PS[\"Prelude\"]; \n var Accept = (function () {\n function Accept(value0) {\n this.value0 = value0;\n };\n Accept.create = function (value0) {\n return new Accept(value0);\n };\n return Accept;\n })();\n var ContentType = (function () {\n function ContentType(value0) {\n this.value0 = value0;\n };\n ContentType.create = function (value0) {\n return new ContentType(value0);\n };\n return ContentType;\n })();\n var RequestHeader = (function () {\n function RequestHeader(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n RequestHeader.create = function (value0) {\n return function (value1) {\n return new RequestHeader(value0, value1);\n };\n };\n return RequestHeader;\n })();\n var value = function (v) {\n if (v instanceof Accept) {\n return Data_Newtype.unwrap(Data_MediaType.newtypeMediaType)(v.value0);\n };\n if (v instanceof ContentType) {\n return Data_Newtype.unwrap(Data_MediaType.newtypeMediaType)(v.value0);\n };\n if (v instanceof RequestHeader) {\n return v.value1;\n };\n throw new Error(\"Failed pattern match at Affjax.RequestHeader (line 26, column 1 - line 26, column 33): \" + [ v.constructor.name ]);\n }; \n var name = function (v) {\n if (v instanceof Accept) {\n return \"Accept\";\n };\n if (v instanceof ContentType) {\n return \"Content-Type\";\n };\n if (v instanceof RequestHeader) {\n return v.value0;\n };\n throw new Error(\"Failed pattern match at Affjax.RequestHeader (line 21, column 1 - line 21, column 32): \" + [ v.constructor.name ]);\n };\n exports[\"Accept\"] = Accept;\n exports[\"ContentType\"] = ContentType;\n exports[\"RequestHeader\"] = RequestHeader;\n exports[\"name\"] = name;\n exports[\"value\"] = value;\n})(PS[\"Affjax.RequestHeader\"] = PS[\"Affjax.RequestHeader\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unsafeToForeign = function (value) {\n return value;\n };\n\n exports.unsafeFromForeign = function (value) {\n return value;\n };\n\n exports.typeOf = function (value) {\n return typeof value;\n };\n\n exports.tagOf = function (value) {\n return Object.prototype.toString.call(value).slice(8, -1);\n };\n})(PS[\"Foreign\"] = PS[\"Foreign\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.error = function (msg) {\n return new Error(msg);\n };\n\n exports.throwException = function (e) {\n return function () {\n throw e;\n };\n };\n})(PS[\"Effect.Exception\"] = PS[\"Effect.Exception\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.Exception\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Show = PS[\"Data.Show\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var $$throw = function ($1) {\n return $foreign.throwException($foreign.error($1));\n };\n exports[\"throw\"] = $$throw;\n exports[\"error\"] = $foreign.error;\n exports[\"throwException\"] = $foreign.throwException;\n})(PS[\"Effect.Exception\"] = PS[\"Effect.Exception\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Prelude = PS[\"Prelude\"]; \n var MonadThrow = function (Monad0, throwError) {\n this.Monad0 = Monad0;\n this.throwError = throwError;\n };\n var MonadError = function (MonadThrow0, catchError) {\n this.MonadThrow0 = MonadThrow0;\n this.catchError = catchError;\n };\n var throwError = function (dict) {\n return dict.throwError;\n }; \n var catchError = function (dict) {\n return dict.catchError;\n };\n var $$try = function (dictMonadError) {\n return function (a) {\n return catchError(dictMonadError)(Data_Functor.map(((((dictMonadError.MonadThrow0()).Monad0()).Bind1()).Apply0()).Functor0())(Data_Either.Right.create)(a))(function ($21) {\n return Control_Applicative.pure(((dictMonadError.MonadThrow0()).Monad0()).Applicative0())(Data_Either.Left.create($21));\n });\n };\n };\n exports[\"catchError\"] = catchError;\n exports[\"throwError\"] = throwError;\n exports[\"MonadThrow\"] = MonadThrow;\n exports[\"MonadError\"] = MonadError;\n exports[\"try\"] = $$try;\n})(PS[\"Control.Monad.Error.Class\"] = PS[\"Control.Monad.Error.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"]; \n var MonadState = function (Monad0, state) {\n this.Monad0 = Monad0;\n this.state = state;\n };\n var state = function (dict) {\n return dict.state;\n };\n var modify_ = function (dictMonadState) {\n return function (f) {\n return state(dictMonadState)(function (s) {\n return new Data_Tuple.Tuple(Data_Unit.unit, f(s));\n });\n };\n };\n var modify = function (dictMonadState) {\n return function (f) {\n return state(dictMonadState)(function (s) {\n var s$prime = f(s);\n return new Data_Tuple.Tuple(s$prime, s$prime);\n });\n };\n };\n var gets = function (dictMonadState) {\n return function (f) {\n return state(dictMonadState)(function (s) {\n return new Data_Tuple.Tuple(f(s), s);\n });\n };\n };\n var get = function (dictMonadState) {\n return state(dictMonadState)(function (s) {\n return new Data_Tuple.Tuple(s, s);\n });\n };\n exports[\"state\"] = state;\n exports[\"MonadState\"] = MonadState;\n exports[\"get\"] = get;\n exports[\"gets\"] = gets;\n exports[\"modify\"] = modify;\n exports[\"modify_\"] = modify_;\n})(PS[\"Control.Monad.State.Class\"] = PS[\"Control.Monad.State.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Prelude = PS[\"Prelude\"]; \n var MonadTrans = function (lift) {\n this.lift = lift;\n };\n var lift = function (dict) {\n return dict.lift;\n };\n exports[\"lift\"] = lift;\n exports[\"MonadTrans\"] = MonadTrans;\n})(PS[\"Control.Monad.Trans.Class\"] = PS[\"Control.Monad.Trans.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Effect = PS[\"Effect\"]; \n var MonadEffect = function (Monad0, liftEffect) {\n this.Monad0 = Monad0;\n this.liftEffect = liftEffect;\n }; \n var liftEffect = function (dict) {\n return dict.liftEffect;\n };\n exports[\"liftEffect\"] = liftEffect;\n exports[\"MonadEffect\"] = MonadEffect;\n})(PS[\"Effect.Class\"] = PS[\"Effect.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Monad_Cont_Class = PS[\"Control.Monad.Cont.Class\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Reader_Class = PS[\"Control.Monad.Reader.Class\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Monad_Writer_Class = PS[\"Control.Monad.Writer.Class\"];\n var Control_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Prelude = PS[\"Prelude\"]; \n var ExceptT = function (x) {\n return x;\n };\n var runExceptT = function (v) {\n return v;\n }; \n var mapExceptT = function (f) {\n return function (v) {\n return f(v);\n };\n };\n var functorExceptT = function (dictFunctor) {\n return new Data_Functor.Functor(function (f) {\n return mapExceptT(Data_Functor.map(dictFunctor)(Data_Functor.map(Data_Either.functorEither)(f)));\n });\n };\n var monadExceptT = function (dictMonad) {\n return new Control_Monad.Monad(function () {\n return applicativeExceptT(dictMonad);\n }, function () {\n return bindExceptT(dictMonad);\n });\n };\n var bindExceptT = function (dictMonad) {\n return new Control_Bind.Bind(function () {\n return applyExceptT(dictMonad);\n }, function (v) {\n return function (k) {\n return Control_Bind.bind(dictMonad.Bind1())(v)(Data_Either.either(function ($97) {\n return Control_Applicative.pure(dictMonad.Applicative0())(Data_Either.Left.create($97));\n })(function (a) {\n var v1 = k(a);\n return v1;\n }));\n };\n });\n };\n var applyExceptT = function (dictMonad) {\n return new Control_Apply.Apply(function () {\n return functorExceptT(((dictMonad.Bind1()).Apply0()).Functor0());\n }, Control_Monad.ap(monadExceptT(dictMonad)));\n };\n var applicativeExceptT = function (dictMonad) {\n return new Control_Applicative.Applicative(function () {\n return applyExceptT(dictMonad);\n }, function ($98) {\n return ExceptT(Control_Applicative.pure(dictMonad.Applicative0())(Data_Either.Right.create($98)));\n });\n };\n var monadThrowExceptT = function (dictMonad) {\n return new Control_Monad_Error_Class.MonadThrow(function () {\n return monadExceptT(dictMonad);\n }, function ($102) {\n return ExceptT(Control_Applicative.pure(dictMonad.Applicative0())(Data_Either.Left.create($102)));\n });\n };\n exports[\"ExceptT\"] = ExceptT;\n exports[\"runExceptT\"] = runExceptT;\n exports[\"mapExceptT\"] = mapExceptT;\n exports[\"functorExceptT\"] = functorExceptT;\n exports[\"applyExceptT\"] = applyExceptT;\n exports[\"applicativeExceptT\"] = applicativeExceptT;\n exports[\"bindExceptT\"] = bindExceptT;\n exports[\"monadExceptT\"] = monadExceptT;\n exports[\"monadThrowExceptT\"] = monadThrowExceptT;\n})(PS[\"Control.Monad.Except.Trans\"] = PS[\"Control.Monad.Except.Trans\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Prelude = PS[\"Prelude\"]; \n var runExcept = function ($0) {\n return Data_Newtype.unwrap(Data_Identity.newtypeIdentity)(Control_Monad_Except_Trans.runExceptT($0));\n };\n exports[\"runExcept\"] = runExcept;\n})(PS[\"Control.Monad.Except\"] = PS[\"Control.Monad.Except\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Prelude = PS[\"Prelude\"]; \n var NonEmpty = (function () {\n function NonEmpty(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n NonEmpty.create = function (value0) {\n return function (value1) {\n return new NonEmpty(value0, value1);\n };\n };\n return NonEmpty;\n })();\n var singleton = function (dictPlus) {\n return function (a) {\n return new NonEmpty(a, Control_Plus.empty(dictPlus));\n };\n };\n exports[\"NonEmpty\"] = NonEmpty;\n exports[\"singleton\"] = singleton;\n})(PS[\"Data.NonEmpty\"] = PS[\"Data.NonEmpty\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Comonad = PS[\"Control.Comonad\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_NonEmpty = PS[\"Data.NonEmpty\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Prelude = PS[\"Prelude\"]; \n var Nil = (function () {\n function Nil() {\n\n };\n Nil.value = new Nil();\n return Nil;\n })();\n var Cons = (function () {\n function Cons(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Cons.create = function (value0) {\n return function (value1) {\n return new Cons(value0, value1);\n };\n };\n return Cons;\n })();\n var NonEmptyList = function (x) {\n return x;\n };\n var foldableList = new Data_Foldable.Foldable(function (dictMonoid) {\n return function (f) {\n return Data_Foldable.foldl(foldableList)(function (acc) {\n return function ($174) {\n return Data_Semigroup.append(dictMonoid.Semigroup0())(acc)(f($174));\n };\n })(Data_Monoid.mempty(dictMonoid));\n };\n }, function (f) {\n var go = function ($copy_b) {\n return function ($copy_v) {\n var $tco_var_b = $copy_b;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(b, v) {\n if (v instanceof Nil) {\n $tco_done = true;\n return b;\n };\n if (v instanceof Cons) {\n $tco_var_b = f(b)(v.value0);\n $copy_v = v.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.List.Types (line 81, column 12 - line 83, column 30): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_b, $copy_v);\n };\n return $tco_result;\n };\n };\n return go;\n }, function (f) {\n return function (b) {\n var rev = Data_Foldable.foldl(foldableList)(Data_Function.flip(Cons.create))(Nil.value);\n return function ($175) {\n return Data_Foldable.foldl(foldableList)(Data_Function.flip(f))(b)(rev($175));\n };\n };\n });\n var functorList = new Data_Functor.Functor(function (f) {\n return Data_Foldable.foldr(foldableList)(function (x) {\n return function (acc) {\n return new Cons(f(x), acc);\n };\n })(Nil.value);\n });\n var semigroupList = new Data_Semigroup.Semigroup(function (xs) {\n return function (ys) {\n return Data_Foldable.foldr(foldableList)(Cons.create)(ys)(xs);\n };\n });\n var applyList = new Control_Apply.Apply(function () {\n return functorList;\n }, function (v) {\n return function (v1) {\n if (v instanceof Nil) {\n return Nil.value;\n };\n if (v instanceof Cons) {\n return Data_Semigroup.append(semigroupList)(Data_Functor.map(functorList)(v.value0)(v1))(Control_Apply.apply(applyList)(v.value1)(v1));\n };\n throw new Error(\"Failed pattern match at Data.List.Types (line 127, column 1 - line 127, column 33): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n var applicativeList = new Control_Applicative.Applicative(function () {\n return applyList;\n }, function (a) {\n return new Cons(a, Nil.value);\n }); \n var altList = new Control_Alt.Alt(function () {\n return functorList;\n }, Data_Semigroup.append(semigroupList));\n var plusList = new Control_Plus.Plus(function () {\n return altList;\n }, Nil.value);\n exports[\"Nil\"] = Nil;\n exports[\"Cons\"] = Cons;\n exports[\"NonEmptyList\"] = NonEmptyList;\n exports[\"semigroupList\"] = semigroupList;\n exports[\"functorList\"] = functorList;\n exports[\"foldableList\"] = foldableList;\n exports[\"applyList\"] = applyList;\n exports[\"applicativeList\"] = applicativeList;\n exports[\"altList\"] = altList;\n exports[\"plusList\"] = plusList;\n})(PS[\"Data.List.Types\"] = PS[\"Data.List.Types\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Lazy = PS[\"Control.Lazy\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_NonEmpty = PS[\"Data.NonEmpty\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"];\n var reverse = (function () {\n var go = function ($copy_acc) {\n return function ($copy_v) {\n var $tco_var_acc = $copy_acc;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(acc, v) {\n if (v instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return acc;\n };\n if (v instanceof Data_List_Types.Cons) {\n $tco_var_acc = new Data_List_Types.Cons(v.value0, acc);\n $copy_v = v.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.List (line 368, column 3 - line 368, column 19): \" + [ acc.constructor.name, v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_acc, $copy_v);\n };\n return $tco_result;\n };\n };\n return go(Data_List_Types.Nil.value);\n })();\n var $$null = function (v) {\n if (v instanceof Data_List_Types.Nil) {\n return true;\n };\n return false;\n };\n exports[\"null\"] = $$null;\n exports[\"reverse\"] = reverse;\n})(PS[\"Data.List\"] = PS[\"Data.List\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_NonEmpty = PS[\"Data.NonEmpty\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var singleton = function ($165) {\n return Data_List_Types.NonEmptyList(Data_NonEmpty.singleton(Data_List_Types.plusList)($165));\n };\n var head = function (v) {\n return v.value0;\n };\n var cons = function (y) {\n return function (v) {\n return new Data_NonEmpty.NonEmpty(y, new Data_List_Types.Cons(v.value0, v.value1));\n };\n };\n exports[\"singleton\"] = singleton;\n exports[\"cons\"] = cons;\n exports[\"head\"] = head;\n})(PS[\"Data.List.NonEmpty\"] = PS[\"Data.List.NonEmpty\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.singleton = function (c) {\n return c;\n };\n\n exports.length = function (s) {\n return s.length;\n };\n\n exports.drop = function (n) {\n return function (s) {\n return s.substring(n);\n };\n };\n})(PS[\"Data.String.CodeUnits\"] = PS[\"Data.String.CodeUnits\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.charAt = function (i) {\n return function (s) {\n if (i >= 0 && i < s.length) return s.charAt(i);\n throw new Error(\"Data.String.Unsafe.charAt: Invalid index.\");\n };\n };\n})(PS[\"Data.String.Unsafe\"] = PS[\"Data.String.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.String.Unsafe\"];\n exports[\"charAt\"] = $foreign.charAt;\n})(PS[\"Data.String.Unsafe\"] = PS[\"Data.String.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.String.CodeUnits\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_String_Unsafe = PS[\"Data.String.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n exports[\"singleton\"] = $foreign.singleton;\n exports[\"length\"] = $foreign.length;\n exports[\"drop\"] = $foreign.drop;\n})(PS[\"Data.String.CodeUnits\"] = PS[\"Data.String.CodeUnits\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Foreign\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Except = PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_Int = PS[\"Data.Int\"];\n var Data_List_NonEmpty = PS[\"Data.List.NonEmpty\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String_CodeUnits = PS[\"Data.String.CodeUnits\"];\n var Prelude = PS[\"Prelude\"]; \n var ForeignError = (function () {\n function ForeignError(value0) {\n this.value0 = value0;\n };\n ForeignError.create = function (value0) {\n return new ForeignError(value0);\n };\n return ForeignError;\n })();\n var TypeMismatch = (function () {\n function TypeMismatch(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n TypeMismatch.create = function (value0) {\n return function (value1) {\n return new TypeMismatch(value0, value1);\n };\n };\n return TypeMismatch;\n })();\n var fail = function ($107) {\n return Control_Monad_Error_Class.throwError(Control_Monad_Except_Trans.monadThrowExceptT(Data_Identity.monadIdentity))(Data_List_NonEmpty.singleton($107));\n };\n var unsafeReadTagged = function (tag) {\n return function (value) {\n if ($foreign.tagOf(value) === tag) {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))($foreign.unsafeFromForeign(value));\n };\n if (Data_Boolean.otherwise) {\n return fail(new TypeMismatch(tag, $foreign.tagOf(value)));\n };\n throw new Error(\"Failed pattern match at Foreign (line 106, column 1 - line 106, column 55): \" + [ tag.constructor.name, value.constructor.name ]);\n };\n };\n var readBoolean = unsafeReadTagged(\"Boolean\");\n var readString = unsafeReadTagged(\"String\");\n exports[\"ForeignError\"] = ForeignError;\n exports[\"TypeMismatch\"] = TypeMismatch;\n exports[\"unsafeReadTagged\"] = unsafeReadTagged;\n exports[\"readString\"] = readString;\n exports[\"readBoolean\"] = readBoolean;\n exports[\"fail\"] = fail;\n exports[\"unsafeToForeign\"] = $foreign.unsafeToForeign;\n exports[\"typeOf\"] = $foreign.typeOf;\n})(PS[\"Foreign\"] = PS[\"Foreign\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Data_Argonaut_Core = PS[\"Data.Argonaut.Core\"];\n var Data_ArrayBuffer_Types = PS[\"Data.ArrayBuffer.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_MediaType = PS[\"Data.MediaType\"];\n var Data_MediaType_Common = PS[\"Data.MediaType.Common\"];\n var Foreign = PS[\"Foreign\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_File_Blob = PS[\"Web.File.Blob\"]; \n var ResponseFormatError = (function () {\n function ResponseFormatError(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n ResponseFormatError.create = function (value0) {\n return function (value1) {\n return new ResponseFormatError(value0, value1);\n };\n };\n return ResponseFormatError;\n })();\n var $$ArrayBuffer = (function () {\n function $$ArrayBuffer(value0) {\n this.value0 = value0;\n };\n $$ArrayBuffer.create = function (value0) {\n return new $$ArrayBuffer(value0);\n };\n return $$ArrayBuffer;\n })();\n var Blob = (function () {\n function Blob(value0) {\n this.value0 = value0;\n };\n Blob.create = function (value0) {\n return new Blob(value0);\n };\n return Blob;\n })();\n var Document = (function () {\n function Document(value0) {\n this.value0 = value0;\n };\n Document.create = function (value0) {\n return new Document(value0);\n };\n return Document;\n })();\n var Json = (function () {\n function Json(value0) {\n this.value0 = value0;\n };\n Json.create = function (value0) {\n return new Json(value0);\n };\n return Json;\n })();\n var $$String = (function () {\n function $$String(value0) {\n this.value0 = value0;\n };\n $$String.create = function (value0) {\n return new $$String(value0);\n };\n return $$String;\n })();\n var Ignore = (function () {\n function Ignore(value0) {\n this.value0 = value0;\n };\n Ignore.create = function (value0) {\n return new Ignore(value0);\n };\n return Ignore;\n })();\n var toResponseType = function (v) {\n if (v instanceof $$ArrayBuffer) {\n return \"arraybuffer\";\n };\n if (v instanceof Blob) {\n return \"blob\";\n };\n if (v instanceof Document) {\n return \"document\";\n };\n if (v instanceof Json) {\n return \"text\";\n };\n if (v instanceof $$String) {\n return \"text\";\n };\n if (v instanceof Ignore) {\n return \"\";\n };\n throw new Error(\"Failed pattern match at Affjax.ResponseFormat (line 46, column 3 - line 54, column 1): \" + [ v.constructor.name ]);\n };\n var toMediaType = function (v) {\n if (v instanceof Json) {\n return new Data_Maybe.Just(Data_MediaType_Common.applicationJSON);\n };\n return Data_Maybe.Nothing.value;\n };\n var json = new Json(Control_Category.identity(Control_Category.categoryFn));\n var ignore = new Ignore(Control_Category.identity(Control_Category.categoryFn));\n exports[\"ArrayBuffer\"] = $$ArrayBuffer;\n exports[\"Blob\"] = Blob;\n exports[\"Document\"] = Document;\n exports[\"Json\"] = Json;\n exports[\"String\"] = $$String;\n exports[\"Ignore\"] = Ignore;\n exports[\"json\"] = json;\n exports[\"ignore\"] = ignore;\n exports[\"toResponseType\"] = toResponseType;\n exports[\"toMediaType\"] = toMediaType;\n exports[\"ResponseFormatError\"] = ResponseFormatError;\n})(PS[\"Affjax.ResponseFormat\"] = PS[\"Affjax.ResponseFormat\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Prelude = PS[\"Prelude\"]; \n var ResponseHeader = (function () {\n function ResponseHeader(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n ResponseHeader.create = function (value0) {\n return function (value1) {\n return new ResponseHeader(value0, value1);\n };\n };\n return ResponseHeader;\n })();\n exports[\"ResponseHeader\"] = ResponseHeader;\n})(PS[\"Affjax.ResponseHeader\"] = PS[\"Affjax.ResponseHeader\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Cont_Trans = PS[\"Control.Monad.Cont.Trans\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Monad_Maybe_Trans = PS[\"Control.Monad.Maybe.Trans\"];\n var Control_Monad_Reader_Trans = PS[\"Control.Monad.Reader.Trans\"];\n var Control_Monad_Writer_Trans = PS[\"Control.Monad.Writer.Trans\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Compose = PS[\"Data.Functor.Compose\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Prelude = PS[\"Prelude\"];\n var Parallel = function (Applicative1, Monad0, parallel, sequential) {\n this.Applicative1 = Applicative1;\n this.Monad0 = Monad0;\n this.parallel = parallel;\n this.sequential = sequential;\n };\n var sequential = function (dict) {\n return dict.sequential;\n };\n var parallel = function (dict) {\n return dict.parallel;\n };\n exports[\"parallel\"] = parallel;\n exports[\"sequential\"] = sequential;\n exports[\"Parallel\"] = Parallel;\n})(PS[\"Control.Parallel.Class\"] = PS[\"Control.Parallel.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Parallel_Class = PS[\"Control.Parallel.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Prelude = PS[\"Prelude\"]; \n var parTraverse_ = function (dictParallel) {\n return function (dictFoldable) {\n return function (f) {\n return function ($17) {\n return Control_Parallel_Class.sequential(dictParallel)(Data_Foldable.traverse_(dictParallel.Applicative1())(dictFoldable)(function ($18) {\n return Control_Parallel_Class.parallel(dictParallel)(f($18));\n })($17));\n };\n };\n };\n };\n var parSequence_ = function (dictParallel) {\n return function (dictFoldable) {\n return parTraverse_(dictParallel)(dictFoldable)(Control_Category.identity(Control_Category.categoryFn));\n };\n };\n exports[\"parTraverse_\"] = parTraverse_;\n exports[\"parSequence_\"] = parSequence_;\n})(PS[\"Control.Parallel\"] = PS[\"Control.Parallel\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports._jsonParser = function (fail, succ, s) {\n try {\n return succ(JSON.parse(s));\n }\n catch (e) {\n return fail(e.message);\n }\n };\n})(PS[\"Data.Argonaut.Parser\"] = PS[\"Data.Argonaut.Parser\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Argonaut.Parser\"];\n var Data_Argonaut_Core = PS[\"Data.Argonaut.Core\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"]; \n var jsonParser = function (j) {\n return $foreign[\"_jsonParser\"](Data_Either.Left.create, Data_Either.Right.create, j);\n };\n exports[\"jsonParser\"] = jsonParser;\n})(PS[\"Data.Argonaut.Parser\"] = PS[\"Data.Argonaut.Parser\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Prelude = PS[\"Prelude\"]; \n var OPTIONS = (function () {\n function OPTIONS() {\n\n };\n OPTIONS.value = new OPTIONS();\n return OPTIONS;\n })();\n var GET = (function () {\n function GET() {\n\n };\n GET.value = new GET();\n return GET;\n })();\n var HEAD = (function () {\n function HEAD() {\n\n };\n HEAD.value = new HEAD();\n return HEAD;\n })();\n var POST = (function () {\n function POST() {\n\n };\n POST.value = new POST();\n return POST;\n })();\n var PUT = (function () {\n function PUT() {\n\n };\n PUT.value = new PUT();\n return PUT;\n })();\n var DELETE = (function () {\n function DELETE() {\n\n };\n DELETE.value = new DELETE();\n return DELETE;\n })();\n var TRACE = (function () {\n function TRACE() {\n\n };\n TRACE.value = new TRACE();\n return TRACE;\n })();\n var CONNECT = (function () {\n function CONNECT() {\n\n };\n CONNECT.value = new CONNECT();\n return CONNECT;\n })();\n var PROPFIND = (function () {\n function PROPFIND() {\n\n };\n PROPFIND.value = new PROPFIND();\n return PROPFIND;\n })();\n var PROPPATCH = (function () {\n function PROPPATCH() {\n\n };\n PROPPATCH.value = new PROPPATCH();\n return PROPPATCH;\n })();\n var MKCOL = (function () {\n function MKCOL() {\n\n };\n MKCOL.value = new MKCOL();\n return MKCOL;\n })();\n var COPY = (function () {\n function COPY() {\n\n };\n COPY.value = new COPY();\n return COPY;\n })();\n var MOVE = (function () {\n function MOVE() {\n\n };\n MOVE.value = new MOVE();\n return MOVE;\n })();\n var LOCK = (function () {\n function LOCK() {\n\n };\n LOCK.value = new LOCK();\n return LOCK;\n })();\n var UNLOCK = (function () {\n function UNLOCK() {\n\n };\n UNLOCK.value = new UNLOCK();\n return UNLOCK;\n })();\n var PATCH = (function () {\n function PATCH() {\n\n };\n PATCH.value = new PATCH();\n return PATCH;\n })();\n var unCustomMethod = function (v) {\n return v;\n };\n var showMethod = new Data_Show.Show(function (v) {\n if (v instanceof OPTIONS) {\n return \"OPTIONS\";\n };\n if (v instanceof GET) {\n return \"GET\";\n };\n if (v instanceof HEAD) {\n return \"HEAD\";\n };\n if (v instanceof POST) {\n return \"POST\";\n };\n if (v instanceof PUT) {\n return \"PUT\";\n };\n if (v instanceof DELETE) {\n return \"DELETE\";\n };\n if (v instanceof TRACE) {\n return \"TRACE\";\n };\n if (v instanceof CONNECT) {\n return \"CONNECT\";\n };\n if (v instanceof PROPFIND) {\n return \"PROPFIND\";\n };\n if (v instanceof PROPPATCH) {\n return \"PROPPATCH\";\n };\n if (v instanceof MKCOL) {\n return \"MKCOL\";\n };\n if (v instanceof COPY) {\n return \"COPY\";\n };\n if (v instanceof MOVE) {\n return \"MOVE\";\n };\n if (v instanceof LOCK) {\n return \"LOCK\";\n };\n if (v instanceof UNLOCK) {\n return \"UNLOCK\";\n };\n if (v instanceof PATCH) {\n return \"PATCH\";\n };\n throw new Error(\"Failed pattern match at Data.HTTP.Method (line 40, column 1 - line 40, column 35): \" + [ v.constructor.name ]);\n });\n var print = Data_Either.either(Data_Show.show(showMethod))(unCustomMethod);\n exports[\"OPTIONS\"] = OPTIONS;\n exports[\"GET\"] = GET;\n exports[\"HEAD\"] = HEAD;\n exports[\"POST\"] = POST;\n exports[\"PUT\"] = PUT;\n exports[\"DELETE\"] = DELETE;\n exports[\"TRACE\"] = TRACE;\n exports[\"CONNECT\"] = CONNECT;\n exports[\"PROPFIND\"] = PROPFIND;\n exports[\"PROPPATCH\"] = PROPPATCH;\n exports[\"MKCOL\"] = MKCOL;\n exports[\"COPY\"] = COPY;\n exports[\"MOVE\"] = MOVE;\n exports[\"LOCK\"] = LOCK;\n exports[\"UNLOCK\"] = UNLOCK;\n exports[\"PATCH\"] = PATCH;\n exports[\"unCustomMethod\"] = unCustomMethod;\n exports[\"print\"] = print;\n exports[\"showMethod\"] = showMethod;\n})(PS[\"Data.HTTP.Method\"] = PS[\"Data.HTTP.Method\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports[\"null\"] = null;\n\n exports.nullable = function (a, r, f) {\n return a == null ? r : f(a);\n };\n\n exports.notNull = function (x) {\n return x;\n };\n})(PS[\"Data.Nullable\"] = PS[\"Data.Nullable\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Nullable\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Show = PS[\"Data.Show\"];\n var Prelude = PS[\"Prelude\"]; \n var toNullable = Data_Maybe.maybe($foreign[\"null\"])($foreign.notNull);\n var toMaybe = function (n) {\n return $foreign.nullable(n, Data_Maybe.Nothing.value, Data_Maybe.Just.create);\n };\n exports[\"toMaybe\"] = toMaybe;\n exports[\"toNullable\"] = toNullable;\n})(PS[\"Data.Nullable\"] = PS[\"Data.Nullable\"] || {});\n(function(exports) {\n /* globals setImmediate, clearImmediate, setTimeout, clearTimeout */\n /* jshint -W083, -W098, -W003 */\n \"use strict\";\n\n var Aff = function () {\n // A unique value for empty.\n var EMPTY = {};\n\n /*\n\n An awkward approximation. We elide evidence we would otherwise need in PS for\n efficiency sake.\n\n data Aff eff a\n = Pure a\n | Throw Error\n | Catch (Aff eff a) (Error -> Aff eff a)\n | Sync (Eff eff a)\n | Async ((Either Error a -> Eff eff Unit) -> Eff eff (Canceler eff))\n | forall b. Bind (Aff eff b) (b -> Aff eff a)\n | forall b. Bracket (Aff eff b) (BracketConditions eff b) (b -> Aff eff a)\n | forall b. Fork Boolean (Aff eff b) ?(Fiber eff b -> a)\n | Sequential (ParAff aff a)\n\n */ \n var PURE = \"Pure\";\n var THROW = \"Throw\";\n var CATCH = \"Catch\";\n var SYNC = \"Sync\";\n var ASYNC = \"Async\";\n var BIND = \"Bind\";\n var BRACKET = \"Bracket\";\n var FORK = \"Fork\";\n var SEQ = \"Sequential\";\n\n /*\n\n data ParAff eff a\n = forall b. Map (b -> a) (ParAff eff b)\n | forall b. Apply (ParAff eff (b -> a)) (ParAff eff b)\n | Alt (ParAff eff a) (ParAff eff a)\n | ?Par (Aff eff a)\n\n */ \n var MAP = \"Map\";\n var APPLY = \"Apply\";\n var ALT = \"Alt\";\n\n // Various constructors used in interpretation\n var CONS = \"Cons\"; // Cons-list, for stacks\n var RESUME = \"Resume\"; // Continue indiscriminately\n var RELEASE = \"Release\"; // Continue with bracket finalizers\n var FINALIZER = \"Finalizer\"; // A non-interruptible effect\n var FINALIZED = \"Finalized\"; // Marker for finalization\n var FORKED = \"Forked\"; // Reference to a forked fiber, with resumption stack\n var FIBER = \"Fiber\"; // Actual fiber reference\n var THUNK = \"Thunk\"; // Primed effect, ready to invoke\n\n function Aff(tag, _1, _2, _3) {\n this.tag = tag;\n this._1 = _1;\n this._2 = _2;\n this._3 = _3;\n }\n\n function AffCtr(tag) {\n var fn = function (_1, _2, _3) {\n return new Aff(tag, _1, _2, _3);\n };\n fn.tag = tag;\n return fn;\n }\n\n function nonCanceler(error) {\n return new Aff(PURE, void 0);\n }\n\n function runEff(eff) {\n try {\n eff();\n } catch (error) {\n setTimeout(function () {\n throw error;\n }, 0);\n }\n }\n\n function runSync(left, right, eff) {\n try {\n return right(eff());\n } catch (error) {\n return left(error);\n }\n }\n\n function runAsync(left, eff, k) {\n try {\n return eff(k)();\n } catch (error) {\n k(left(error))();\n return nonCanceler;\n }\n }\n\n var Scheduler = function () {\n var limit = 1024;\n var size = 0;\n var ix = 0;\n var queue = new Array(limit);\n var draining = false;\n\n function drain() {\n var thunk;\n draining = true;\n while (size !== 0) {\n size--;\n thunk = queue[ix];\n queue[ix] = void 0;\n ix = (ix + 1) % limit;\n thunk();\n }\n draining = false;\n }\n\n return {\n isDraining: function () {\n return draining;\n },\n enqueue: function (cb) {\n var i, tmp;\n if (size === limit) {\n tmp = draining;\n drain();\n draining = tmp;\n }\n\n queue[(ix + size) % limit] = cb;\n size++;\n\n if (!draining) {\n drain();\n }\n }\n };\n }();\n\n function Supervisor(util) {\n var fibers = {};\n var fiberId = 0;\n var count = 0;\n\n return {\n register: function (fiber) {\n var fid = fiberId++;\n fiber.onComplete({\n rethrow: true,\n handler: function (result) {\n return function () {\n count--;\n delete fibers[fid];\n };\n }\n });\n fibers[fid] = fiber;\n count++;\n },\n isEmpty: function () {\n return count === 0;\n },\n killAll: function (killError, cb) {\n return function () {\n var killCount = 0;\n var kills = {};\n\n function kill(fid) {\n kills[fid] = fibers[fid].kill(killError, function (result) {\n return function () {\n delete kills[fid];\n killCount--;\n if (util.isLeft(result) && util.fromLeft(result)) {\n setTimeout(function () {\n throw util.fromLeft(result);\n }, 0);\n }\n if (killCount === 0) {\n cb();\n }\n };\n })();\n }\n\n for (var k in fibers) {\n if (fibers.hasOwnProperty(k)) {\n killCount++;\n kill(k);\n }\n }\n\n fibers = {};\n fiberId = 0;\n count = 0;\n\n return function (error) {\n return new Aff(SYNC, function () {\n for (var k in kills) {\n if (kills.hasOwnProperty(k)) {\n kills[k]();\n }\n }\n });\n };\n };\n }\n };\n }\n\n // Fiber state machine\n var SUSPENDED = 0; // Suspended, pending a join.\n var CONTINUE = 1; // Interpret the next instruction.\n var STEP_BIND = 2; // Apply the next bind.\n var STEP_RESULT = 3; // Handle potential failure from a result.\n var PENDING = 4; // An async effect is running.\n var RETURN = 5; // The current stack has returned.\n var COMPLETED = 6; // The entire fiber has completed.\n\n function Fiber(util, supervisor, aff) {\n // Monotonically increasing tick, increased on each asynchronous turn.\n var runTick = 0;\n\n // The current branch of the state machine.\n var status = SUSPENDED;\n\n // The current point of interest for the state machine branch.\n var step = aff; // Successful step\n var fail = null; // Failure step\n var interrupt = null; // Asynchronous interrupt\n\n // Stack of continuations for the current fiber.\n var bhead = null;\n var btail = null;\n\n // Stack of attempts and finalizers for error recovery. Every `Cons` is also\n // tagged with current `interrupt` state. We use this to track which items\n // should be ignored or evaluated as a result of a kill.\n var attempts = null;\n\n // A special state is needed for Bracket, because it cannot be killed. When\n // we enter a bracket acquisition or finalizer, we increment the counter,\n // and then decrement once complete.\n var bracketCount = 0;\n\n // Each join gets a new id so they can be revoked.\n var joinId = 0;\n var joins = null;\n var rethrow = true;\n\n // Each invocation of `run` requires a tick. When an asynchronous effect is\n // resolved, we must check that the local tick coincides with the fiber\n // tick before resuming. This prevents multiple async continuations from\n // accidentally resuming the same fiber. A common example may be invoking\n // the provided callback in `makeAff` more than once, but it may also be an\n // async effect resuming after the fiber was already cancelled.\n function run(localRunTick) {\n var tmp, result, attempt;\n while (true) {\n tmp = null;\n result = null;\n attempt = null;\n\n switch (status) {\n case STEP_BIND:\n status = CONTINUE;\n step = bhead(step);\n if (btail === null) {\n bhead = null;\n } else {\n bhead = btail._1;\n btail = btail._2;\n }\n break;\n\n case STEP_RESULT:\n if (util.isLeft(step)) {\n status = RETURN;\n fail = step;\n step = null;\n } else if (bhead === null) {\n status = RETURN;\n } else {\n status = STEP_BIND;\n step = util.fromRight(step);\n }\n break;\n\n case CONTINUE:\n switch (step.tag) {\n case BIND:\n if (bhead) {\n btail = new Aff(CONS, bhead, btail);\n }\n bhead = step._2;\n status = CONTINUE;\n step = step._1;\n break;\n\n case PURE:\n if (bhead === null) {\n status = RETURN;\n step = util.right(step._1);\n } else {\n status = STEP_BIND;\n step = step._1;\n }\n break;\n\n case SYNC:\n status = STEP_RESULT;\n step = runSync(util.left, util.right, step._1);\n break;\n\n case ASYNC:\n status = PENDING;\n step = runAsync(util.left, step._1, function (result) {\n return function () {\n if (runTick !== localRunTick) {\n return;\n }\n runTick++;\n Scheduler.enqueue(function () {\n // It's possible to interrupt the fiber between enqueuing and\n // resuming, so we need to check that the runTick is still\n // valid.\n if (runTick !== localRunTick + 1) {\n return;\n }\n status = STEP_RESULT;\n step = result;\n run(runTick);\n });\n };\n });\n return;\n\n case THROW:\n status = RETURN;\n fail = util.left(step._1);\n step = null;\n break;\n\n // Enqueue the Catch so that we can call the error handler later on\n // in case of an exception.\n case CATCH:\n if (bhead === null) {\n attempts = new Aff(CONS, step, attempts, interrupt);\n } else {\n attempts = new Aff(CONS, step, new Aff(CONS, new Aff(RESUME, bhead, btail), attempts, interrupt), interrupt);\n }\n bhead = null;\n btail = null;\n status = CONTINUE;\n step = step._1;\n break;\n\n // Enqueue the Bracket so that we can call the appropriate handlers\n // after resource acquisition.\n case BRACKET:\n bracketCount++;\n if (bhead === null) {\n attempts = new Aff(CONS, step, attempts, interrupt);\n } else {\n attempts = new Aff(CONS, step, new Aff(CONS, new Aff(RESUME, bhead, btail), attempts, interrupt), interrupt);\n }\n bhead = null;\n btail = null;\n status = CONTINUE;\n step = step._1;\n break;\n\n case FORK:\n status = STEP_RESULT;\n tmp = Fiber(util, supervisor, step._2);\n if (supervisor) {\n supervisor.register(tmp);\n }\n if (step._1) {\n tmp.run();\n }\n step = util.right(tmp);\n break;\n\n case SEQ:\n status = CONTINUE;\n step = sequential(util, supervisor, step._1);\n break;\n }\n break;\n\n case RETURN:\n bhead = null;\n btail = null;\n // If the current stack has returned, and we have no other stacks to\n // resume or finalizers to run, the fiber has halted and we can\n // invoke all join callbacks. Otherwise we need to resume.\n if (attempts === null) {\n status = COMPLETED;\n step = interrupt || fail || step;\n } else {\n // The interrupt status for the enqueued item.\n tmp = attempts._3;\n attempt = attempts._1;\n attempts = attempts._2;\n\n switch (attempt.tag) {\n // We cannot recover from an interrupt. Otherwise we should\n // continue stepping, or run the exception handler if an exception\n // was raised.\n case CATCH:\n // We should compare the interrupt status as well because we\n // only want it to apply if there has been an interrupt since\n // enqueuing the catch.\n if (interrupt && interrupt !== tmp) {\n status = RETURN;\n } else if (fail) {\n status = CONTINUE;\n step = attempt._2(util.fromLeft(fail));\n fail = null;\n }\n break;\n\n // We cannot resume from an interrupt or exception.\n case RESUME:\n // As with Catch, we only want to ignore in the case of an\n // interrupt since enqueing the item.\n if (interrupt && interrupt !== tmp || fail) {\n status = RETURN;\n } else {\n bhead = attempt._1;\n btail = attempt._2;\n status = STEP_BIND;\n step = util.fromRight(step);\n }\n break;\n\n // If we have a bracket, we should enqueue the handlers,\n // and continue with the success branch only if the fiber has\n // not been interrupted. If the bracket acquisition failed, we\n // should not run either.\n case BRACKET:\n bracketCount--;\n if (fail === null) {\n result = util.fromRight(step);\n // We need to enqueue the Release with the same interrupt\n // status as the Bracket that is initiating it.\n attempts = new Aff(CONS, new Aff(RELEASE, attempt._2, result), attempts, tmp);\n // We should only coninue as long as the interrupt status has not changed or\n // we are currently within a non-interruptable finalizer.\n if (interrupt === tmp || bracketCount > 0) {\n status = CONTINUE;\n step = attempt._3(result);\n }\n }\n break;\n\n // Enqueue the appropriate handler. We increase the bracket count\n // because it should not be cancelled.\n case RELEASE:\n bracketCount++;\n attempts = new Aff(CONS, new Aff(FINALIZED, step, fail), attempts, interrupt);\n status = CONTINUE;\n // It has only been killed if the interrupt status has changed\n // since we enqueued the item.\n if (interrupt && interrupt !== tmp) {\n step = attempt._1.killed(util.fromLeft(interrupt))(attempt._2);\n } else if (fail) {\n step = attempt._1.failed(util.fromLeft(fail))(attempt._2);\n } else {\n step = attempt._1.completed(util.fromRight(step))(attempt._2);\n }\n fail = null;\n break;\n\n case FINALIZER:\n bracketCount++;\n attempts = new Aff(CONS, new Aff(FINALIZED, step, fail), attempts, interrupt);\n status = CONTINUE;\n step = attempt._1;\n break;\n\n case FINALIZED:\n bracketCount--;\n status = RETURN;\n step = attempt._1;\n fail = attempt._2;\n break;\n }\n }\n break;\n\n case COMPLETED:\n for (var k in joins) {\n if (joins.hasOwnProperty(k)) {\n rethrow = rethrow && joins[k].rethrow;\n runEff(joins[k].handler(step));\n }\n }\n joins = null;\n // If we have an interrupt and a fail, then the thread threw while\n // running finalizers. This should always rethrow in a fresh stack.\n if (interrupt && fail) {\n setTimeout(function () {\n throw util.fromLeft(fail);\n }, 0);\n // If we have an unhandled exception, and no other fiber has joined\n // then we need to throw the exception in a fresh stack.\n } else if (util.isLeft(step) && rethrow) {\n setTimeout(function () {\n // Guard on reathrow because a completely synchronous fiber can\n // still have an observer which was added after-the-fact.\n if (rethrow) {\n throw util.fromLeft(step);\n }\n }, 0);\n }\n return;\n case SUSPENDED:\n status = CONTINUE;\n break;\n case PENDING: return;\n }\n }\n }\n\n function onComplete(join) {\n return function () {\n if (status === COMPLETED) {\n rethrow = rethrow && join.rethrow;\n join.handler(step)();\n return function () {};\n }\n\n var jid = joinId++;\n joins = joins || {};\n joins[jid] = join;\n\n return function() {\n if (joins !== null) {\n delete joins[jid];\n }\n };\n };\n }\n\n function kill(error, cb) {\n return function () {\n if (status === COMPLETED) {\n cb(util.right(void 0))();\n return function () {};\n }\n\n var canceler = onComplete({\n rethrow: false,\n handler: function (/* unused */) {\n return cb(util.right(void 0));\n }\n })();\n\n switch (status) {\n case SUSPENDED:\n interrupt = util.left(error);\n status = COMPLETED;\n step = interrupt;\n run(runTick);\n break;\n case PENDING:\n if (interrupt === null) {\n interrupt = util.left(error);\n }\n if (bracketCount === 0) {\n if (status === PENDING) {\n attempts = new Aff(CONS, new Aff(FINALIZER, step(error)), attempts, interrupt);\n }\n status = RETURN;\n step = null;\n fail = null;\n run(++runTick);\n }\n break;\n default:\n if (interrupt === null) {\n interrupt = util.left(error);\n }\n if (bracketCount === 0) {\n status = RETURN;\n step = null;\n fail = null;\n }\n }\n\n return canceler;\n };\n }\n\n function join(cb) {\n return function () {\n var canceler = onComplete({\n rethrow: false,\n handler: cb\n })();\n if (status === SUSPENDED) {\n run(runTick);\n }\n return canceler;\n };\n }\n\n return {\n kill: kill,\n join: join,\n onComplete: onComplete,\n isSuspended: function () {\n return status === SUSPENDED;\n },\n run: function () {\n if (status === SUSPENDED) {\n if (!Scheduler.isDraining()) {\n Scheduler.enqueue(function () {\n run(runTick);\n });\n } else {\n run(runTick);\n }\n }\n }\n };\n }\n\n function runPar(util, supervisor, par, cb) {\n // Table of all forked fibers.\n var fiberId = 0;\n var fibers = {};\n\n // Table of currently running cancelers, as a product of `Alt` behavior.\n var killId = 0;\n var kills = {};\n\n // Error used for early cancelation on Alt branches.\n var early = new Error(\"[ParAff] Early exit\");\n\n // Error used to kill the entire tree.\n var interrupt = null;\n\n // The root pointer of the tree.\n var root = EMPTY;\n\n // Walks a tree, invoking all the cancelers. Returns the table of pending\n // cancellation fibers.\n function kill(error, par, cb) {\n var step = par;\n var head = null;\n var tail = null;\n var count = 0;\n var kills = {};\n var tmp, kid;\n\n loop: while (true) {\n tmp = null;\n\n switch (step.tag) {\n case FORKED:\n if (step._3 === EMPTY) {\n tmp = fibers[step._1];\n kills[count++] = tmp.kill(error, function (result) {\n return function () {\n count--;\n if (count === 0) {\n cb(result)();\n }\n };\n });\n }\n // Terminal case.\n if (head === null) {\n break loop;\n }\n // Go down the right side of the tree.\n step = head._2;\n if (tail === null) {\n head = null;\n } else {\n head = tail._1;\n tail = tail._2;\n }\n break;\n case MAP:\n step = step._2;\n break;\n case APPLY:\n case ALT:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = step;\n step = step._1;\n break;\n }\n }\n\n if (count === 0) {\n cb(util.right(void 0))();\n } else {\n // Run the cancelation effects. We alias `count` because it's mutable.\n kid = 0;\n tmp = count;\n for (; kid < tmp; kid++) {\n kills[kid] = kills[kid]();\n }\n }\n\n return kills;\n }\n\n // When a fiber resolves, we need to bubble back up the tree with the\n // result, computing the applicative nodes.\n function join(result, head, tail) {\n var fail, step, lhs, rhs, tmp, kid;\n\n if (util.isLeft(result)) {\n fail = result;\n step = null;\n } else {\n step = result;\n fail = null;\n }\n\n loop: while (true) {\n lhs = null;\n rhs = null;\n tmp = null;\n kid = null;\n\n // We should never continue if the entire tree has been interrupted.\n if (interrupt !== null) {\n return;\n }\n\n // We've made it all the way to the root of the tree, which means\n // the tree has fully evaluated.\n if (head === null) {\n cb(fail || step)();\n return;\n }\n\n // The tree has already been computed, so we shouldn't try to do it\n // again. This should never happen.\n // TODO: Remove this?\n if (head._3 !== EMPTY) {\n return;\n }\n\n switch (head.tag) {\n case MAP:\n if (fail === null) {\n head._3 = util.right(head._1(util.fromRight(step)));\n step = head._3;\n } else {\n head._3 = fail;\n }\n break;\n case APPLY:\n lhs = head._1._3;\n rhs = head._2._3;\n // If we have a failure we should kill the other side because we\n // can't possible yield a result anymore.\n if (fail) {\n head._3 = fail;\n tmp = true;\n kid = killId++;\n\n kills[kid] = kill(early, fail === lhs ? head._2 : head._1, function (/* unused */) {\n return function () {\n delete kills[kid];\n if (tmp) {\n tmp = false;\n } else if (tail === null) {\n join(fail, null, null);\n } else {\n join(fail, tail._1, tail._2);\n }\n };\n });\n\n if (tmp) {\n tmp = false;\n return;\n }\n } else if (lhs === EMPTY || rhs === EMPTY) {\n // We can only proceed if both sides have resolved.\n return;\n } else {\n step = util.right(util.fromRight(lhs)(util.fromRight(rhs)));\n head._3 = step;\n }\n break;\n case ALT:\n lhs = head._1._3;\n rhs = head._2._3;\n // We can only proceed if both have resolved or we have a success\n if (lhs === EMPTY && util.isLeft(rhs) || rhs === EMPTY && util.isLeft(lhs)) {\n return;\n }\n // If both sides resolve with an error, we should continue with the\n // first error\n if (lhs !== EMPTY && util.isLeft(lhs) && rhs !== EMPTY && util.isLeft(rhs)) {\n fail = step === lhs ? rhs : lhs;\n step = null;\n head._3 = fail;\n } else {\n head._3 = step;\n tmp = true;\n kid = killId++;\n // Once a side has resolved, we need to cancel the side that is still\n // pending before we can continue.\n kills[kid] = kill(early, step === lhs ? head._2 : head._1, function (/* unused */) {\n return function () {\n delete kills[kid];\n if (tmp) {\n tmp = false;\n } else if (tail === null) {\n join(step, null, null);\n } else {\n join(step, tail._1, tail._2);\n }\n };\n });\n\n if (tmp) {\n tmp = false;\n return;\n }\n }\n break;\n }\n\n if (tail === null) {\n head = null;\n } else {\n head = tail._1;\n tail = tail._2;\n }\n }\n }\n\n function resolve(fiber) {\n return function (result) {\n return function () {\n delete fibers[fiber._1];\n fiber._3 = result;\n join(result, fiber._2._1, fiber._2._2);\n };\n };\n }\n\n // Walks the applicative tree, substituting non-applicative nodes with\n // `FORKED` nodes. In this tree, all applicative nodes use the `_3` slot\n // as a mutable slot for memoization. In an unresolved state, the `_3`\n // slot is `EMPTY`. In the cases of `ALT` and `APPLY`, we always walk\n // the left side first, because both operations are left-associative. As\n // we `RETURN` from those branches, we then walk the right side.\n function run() {\n var status = CONTINUE;\n var step = par;\n var head = null;\n var tail = null;\n var tmp, fid;\n\n loop: while (true) {\n tmp = null;\n fid = null;\n\n switch (status) {\n case CONTINUE:\n switch (step.tag) {\n case MAP:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = new Aff(MAP, step._1, EMPTY, EMPTY);\n step = step._2;\n break;\n case APPLY:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = new Aff(APPLY, EMPTY, step._2, EMPTY);\n step = step._1;\n break;\n case ALT:\n if (head) {\n tail = new Aff(CONS, head, tail);\n }\n head = new Aff(ALT, EMPTY, step._2, EMPTY);\n step = step._1;\n break;\n default:\n // When we hit a leaf value, we suspend the stack in the `FORKED`.\n // When the fiber resolves, it can bubble back up the tree.\n fid = fiberId++;\n status = RETURN;\n tmp = step;\n step = new Aff(FORKED, fid, new Aff(CONS, head, tail), EMPTY);\n tmp = Fiber(util, supervisor, tmp);\n tmp.onComplete({\n rethrow: false,\n handler: resolve(step)\n })();\n fibers[fid] = tmp;\n if (supervisor) {\n supervisor.register(tmp);\n }\n }\n break;\n case RETURN:\n // Terminal case, we are back at the root.\n if (head === null) {\n break loop;\n }\n // If we are done with the right side, we need to continue down the\n // left. Otherwise we should continue up the stack.\n if (head._1 === EMPTY) {\n head._1 = step;\n status = CONTINUE;\n step = head._2;\n head._2 = EMPTY;\n } else {\n head._2 = step;\n step = head;\n if (tail === null) {\n head = null;\n } else {\n head = tail._1;\n tail = tail._2;\n }\n }\n }\n }\n\n // Keep a reference to the tree root so it can be cancelled.\n root = step;\n\n for (fid = 0; fid < fiberId; fid++) {\n fibers[fid].run();\n }\n }\n\n // Cancels the entire tree. If there are already subtrees being canceled,\n // we need to first cancel those joins. We will then add fresh joins for\n // all pending branches including those that were in the process of being\n // canceled.\n function cancel(error, cb) {\n interrupt = util.left(error);\n var innerKills;\n for (var kid in kills) {\n if (kills.hasOwnProperty(kid)) {\n innerKills = kills[kid];\n for (kid in innerKills) {\n if (innerKills.hasOwnProperty(kid)) {\n innerKills[kid]();\n }\n }\n }\n }\n\n kills = null;\n var newKills = kill(error, root, cb);\n\n return function (killError) {\n return new Aff(ASYNC, function (killCb) {\n return function () {\n for (var kid in newKills) {\n if (newKills.hasOwnProperty(kid)) {\n newKills[kid]();\n }\n }\n return nonCanceler;\n };\n });\n };\n }\n\n run();\n\n return function (killError) {\n return new Aff(ASYNC, function (killCb) {\n return function () {\n return cancel(killError, killCb);\n };\n });\n };\n }\n\n function sequential(util, supervisor, par) {\n return new Aff(ASYNC, function (cb) {\n return function () {\n return runPar(util, supervisor, par, cb);\n };\n });\n }\n\n Aff.EMPTY = EMPTY;\n Aff.Pure = AffCtr(PURE);\n Aff.Throw = AffCtr(THROW);\n Aff.Catch = AffCtr(CATCH);\n Aff.Sync = AffCtr(SYNC);\n Aff.Async = AffCtr(ASYNC);\n Aff.Bind = AffCtr(BIND);\n Aff.Bracket = AffCtr(BRACKET);\n Aff.Fork = AffCtr(FORK);\n Aff.Seq = AffCtr(SEQ);\n Aff.ParMap = AffCtr(MAP);\n Aff.ParApply = AffCtr(APPLY);\n Aff.ParAlt = AffCtr(ALT);\n Aff.Fiber = Fiber;\n Aff.Supervisor = Supervisor;\n Aff.Scheduler = Scheduler;\n Aff.nonCanceler = nonCanceler;\n\n return Aff;\n }();\n\n exports._pure = Aff.Pure;\n\n exports._throwError = Aff.Throw;\n\n exports._catchError = function (aff) {\n return function (k) {\n return Aff.Catch(aff, k);\n };\n };\n\n exports._map = function (f) {\n return function (aff) {\n if (aff.tag === Aff.Pure.tag) {\n return Aff.Pure(f(aff._1));\n } else {\n return Aff.Bind(aff, function (value) {\n return Aff.Pure(f(value));\n });\n }\n };\n };\n\n exports._bind = function (aff) {\n return function (k) {\n return Aff.Bind(aff, k);\n };\n };\n\n exports._fork = function (immediate) {\n return function (aff) {\n return Aff.Fork(immediate, aff);\n };\n };\n\n exports._liftEffect = Aff.Sync;\n\n exports._parAffMap = function (f) {\n return function (aff) {\n return Aff.ParMap(f, aff);\n };\n };\n\n exports._parAffApply = function (aff1) {\n return function (aff2) {\n return Aff.ParApply(aff1, aff2);\n };\n };\n\n exports.makeAff = Aff.Async;\n\n exports.generalBracket = function (acquire) {\n return function (options) {\n return function (k) {\n return Aff.Bracket(acquire, options, k);\n };\n };\n };\n\n exports._makeFiber = function (util, aff) {\n return function () {\n return Aff.Fiber(util, null, aff);\n };\n }; \n\n exports._sequential = Aff.Seq;\n})(PS[\"Effect.Aff\"] = PS[\"Effect.Aff\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unsafePerformEffect = function (f) {\n return f();\n };\n})(PS[\"Effect.Unsafe\"] = PS[\"Effect.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.Unsafe\"];\n var Effect = PS[\"Effect\"];\n exports[\"unsafePerformEffect\"] = $foreign.unsafePerformEffect;\n})(PS[\"Effect.Unsafe\"] = PS[\"Effect.Unsafe\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.Aff\"];\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Lazy = PS[\"Control.Lazy\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Parallel = PS[\"Control.Parallel\"];\n var Control_Parallel_Class = PS[\"Control.Parallel.Class\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Time_Duration = PS[\"Data.Time.Duration\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Effect_Unsafe = PS[\"Effect.Unsafe\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Canceler = function (x) {\n return x;\n };\n var suspendAff = $foreign[\"_fork\"](false);\n var functorParAff = new Data_Functor.Functor($foreign[\"_parAffMap\"]);\n var functorAff = new Data_Functor.Functor($foreign[\"_map\"]);\n var forkAff = $foreign[\"_fork\"](true);\n var ffiUtil = (function () {\n var unsafeFromRight = function (v) {\n if (v instanceof Data_Either.Right) {\n return v.value0;\n };\n if (v instanceof Data_Either.Left) {\n return Partial_Unsafe.unsafeCrashWith(\"unsafeFromRight: Left\");\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 400, column 21 - line 402, column 31): \" + [ v.constructor.name ]);\n };\n var unsafeFromLeft = function (v) {\n if (v instanceof Data_Either.Left) {\n return v.value0;\n };\n if (v instanceof Data_Either.Right) {\n return Partial_Unsafe.unsafeCrashWith(\"unsafeFromLeft: Right\");\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 395, column 20 - line 399, column 3): \" + [ v.constructor.name ]);\n };\n var isLeft = function (v) {\n if (v instanceof Data_Either.Left) {\n return true;\n };\n if (v instanceof Data_Either.Right) {\n return false;\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 390, column 12 - line 392, column 20): \" + [ v.constructor.name ]);\n };\n return {\n isLeft: isLeft,\n fromLeft: unsafeFromLeft,\n fromRight: unsafeFromRight,\n left: Data_Either.Left.create,\n right: Data_Either.Right.create\n };\n })();\n var makeFiber = function (aff) {\n return $foreign[\"_makeFiber\"](ffiUtil, aff);\n };\n var launchAff = function (aff) {\n return function __do() {\n var v = makeFiber(aff)();\n v.run();\n return v;\n };\n };\n var launchAff_ = function ($49) {\n return Data_Functor[\"void\"](Effect.functorEffect)(launchAff($49));\n };\n var bracket = function (acquire) {\n return function (completed) {\n return $foreign.generalBracket(acquire)({\n killed: Data_Function[\"const\"](completed),\n failed: Data_Function[\"const\"](completed),\n completed: Data_Function[\"const\"](completed)\n });\n };\n };\n var applyParAff = new Control_Apply.Apply(function () {\n return functorParAff;\n }, $foreign[\"_parAffApply\"]);\n var monadAff = new Control_Monad.Monad(function () {\n return applicativeAff;\n }, function () {\n return bindAff;\n });\n var bindAff = new Control_Bind.Bind(function () {\n return applyAff;\n }, $foreign[\"_bind\"]);\n var applyAff = new Control_Apply.Apply(function () {\n return functorAff;\n }, Control_Monad.ap(monadAff));\n var applicativeAff = new Control_Applicative.Applicative(function () {\n return applyAff;\n }, $foreign[\"_pure\"]);\n var $$finally = function (fin) {\n return function (a) {\n return bracket(Control_Applicative.pure(applicativeAff)(Data_Unit.unit))(Data_Function[\"const\"](fin))(Data_Function[\"const\"](a));\n };\n };\n var monadEffectAff = new Effect_Class.MonadEffect(function () {\n return monadAff;\n }, $foreign[\"_liftEffect\"]);\n var effectCanceler = function ($50) {\n return Canceler(Data_Function[\"const\"](Effect_Class.liftEffect(monadEffectAff)($50)));\n };\n var joinFiber = function (v) {\n return $foreign.makeAff(function (k) {\n return Data_Functor.map(Effect.functorEffect)(effectCanceler)(v.join(k));\n });\n };\n var functorFiber = new Data_Functor.Functor(function (f) {\n return function (t) {\n return Effect_Unsafe.unsafePerformEffect(makeFiber(Data_Functor.map(functorAff)(f)(joinFiber(t))));\n };\n });\n var killFiber = function (e) {\n return function (v) {\n return Control_Bind.bind(bindAff)(Effect_Class.liftEffect(monadEffectAff)(v.isSuspended))(function (v1) {\n if (v1) {\n return Effect_Class.liftEffect(monadEffectAff)(Data_Functor[\"void\"](Effect.functorEffect)(v.kill(e, Data_Function[\"const\"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit)))));\n };\n return $foreign.makeAff(function (k) {\n return Data_Functor.map(Effect.functorEffect)(effectCanceler)(v.kill(e, k));\n });\n });\n };\n };\n var monadThrowAff = new Control_Monad_Error_Class.MonadThrow(function () {\n return monadAff;\n }, $foreign[\"_throwError\"]);\n var monadErrorAff = new Control_Monad_Error_Class.MonadError(function () {\n return monadThrowAff;\n }, $foreign[\"_catchError\"]); \n var runAff = function (k) {\n return function (aff) {\n return launchAff(Control_Bind.bindFlipped(bindAff)(function ($52) {\n return Effect_Class.liftEffect(monadEffectAff)(k($52));\n })(Control_Monad_Error_Class[\"try\"](monadErrorAff)(aff)));\n };\n };\n var runAff_ = function (k) {\n return function (aff) {\n return Data_Functor[\"void\"](Effect.functorEffect)(runAff(k)(aff));\n };\n };\n var parallelAff = new Control_Parallel_Class.Parallel(function () {\n return applicativeParAff;\n }, function () {\n return monadAff;\n }, Unsafe_Coerce.unsafeCoerce, $foreign[\"_sequential\"]);\n var applicativeParAff = new Control_Applicative.Applicative(function () {\n return applyParAff;\n }, function ($54) {\n return Control_Parallel_Class.parallel(parallelAff)(Control_Applicative.pure(applicativeAff)($54));\n });\n var monadRecAff = new Control_Monad_Rec_Class.MonadRec(function () {\n return monadAff;\n }, function (k) {\n var go = function (a) {\n return Control_Bind.bind(bindAff)(k(a))(function (v) {\n if (v instanceof Control_Monad_Rec_Class.Done) {\n return Control_Applicative.pure(applicativeAff)(v.value0);\n };\n if (v instanceof Control_Monad_Rec_Class.Loop) {\n return go(v.value0);\n };\n throw new Error(\"Failed pattern match at Effect.Aff (line 100, column 7 - line 102, column 22): \" + [ v.constructor.name ]);\n });\n };\n return go;\n });\n var nonCanceler = Data_Function[\"const\"](Control_Applicative.pure(applicativeAff)(Data_Unit.unit));\n exports[\"Canceler\"] = Canceler;\n exports[\"launchAff\"] = launchAff;\n exports[\"launchAff_\"] = launchAff_;\n exports[\"runAff\"] = runAff;\n exports[\"runAff_\"] = runAff_;\n exports[\"forkAff\"] = forkAff;\n exports[\"suspendAff\"] = suspendAff;\n exports[\"finally\"] = $$finally;\n exports[\"killFiber\"] = killFiber;\n exports[\"joinFiber\"] = joinFiber;\n exports[\"bracket\"] = bracket;\n exports[\"nonCanceler\"] = nonCanceler;\n exports[\"effectCanceler\"] = effectCanceler;\n exports[\"functorAff\"] = functorAff;\n exports[\"applyAff\"] = applyAff;\n exports[\"applicativeAff\"] = applicativeAff;\n exports[\"bindAff\"] = bindAff;\n exports[\"monadAff\"] = monadAff;\n exports[\"monadRecAff\"] = monadRecAff;\n exports[\"monadThrowAff\"] = monadThrowAff;\n exports[\"monadErrorAff\"] = monadErrorAff;\n exports[\"monadEffectAff\"] = monadEffectAff;\n exports[\"functorParAff\"] = functorParAff;\n exports[\"applyParAff\"] = applyParAff;\n exports[\"applicativeParAff\"] = applicativeParAff;\n exports[\"parallelAff\"] = parallelAff;\n exports[\"functorFiber\"] = functorFiber;\n exports[\"makeAff\"] = $foreign.makeAff;\n})(PS[\"Effect.Aff\"] = PS[\"Effect.Aff\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Prelude = PS[\"Prelude\"];\n var fromEffectFnAff = function (v) {\n return Effect_Aff.makeAff(function (k) {\n return function __do() {\n var v1 = v(function ($4) {\n return k(Data_Either.Left.create($4))();\n }, function ($5) {\n return k(Data_Either.Right.create($5))();\n });\n return function (e) {\n return Effect_Aff.makeAff(function (k2) {\n return function __do() {\n v1(e, function ($6) {\n return k2(Data_Either.Left.create($6))();\n }, function ($7) {\n return k2(Data_Either.Right.create($7))();\n });\n return Effect_Aff.nonCanceler;\n };\n });\n };\n };\n });\n };\n exports[\"fromEffectFnAff\"] = fromEffectFnAff;\n})(PS[\"Effect.Aff.Compat\"] = PS[\"Effect.Aff.Compat\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Affjax\"];\n var Affjax_RequestBody = PS[\"Affjax.RequestBody\"];\n var Affjax_RequestHeader = PS[\"Affjax.RequestHeader\"];\n var Affjax_ResponseFormat = PS[\"Affjax.ResponseFormat\"];\n var Affjax_ResponseHeader = PS[\"Affjax.ResponseHeader\"];\n var Affjax_StatusCode = PS[\"Affjax.StatusCode\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Except = PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Parallel = PS[\"Control.Parallel\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Argonaut_Core = PS[\"Data.Argonaut.Core\"];\n var Data_Argonaut_Parser = PS[\"Data.Argonaut.Parser\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FormURLEncoded = PS[\"Data.FormURLEncoded\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HTTP_Method = PS[\"Data.HTTP.Method\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_Int = PS[\"Data.Int\"];\n var Data_List_NonEmpty = PS[\"Data.List.NonEmpty\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Time_Duration = PS[\"Data.Time.Duration\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Aff_Compat = PS[\"Effect.Aff.Compat\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Foreign = PS[\"Foreign\"];\n var $$Math = PS[\"Math\"];\n var Prelude = PS[\"Prelude\"];\n var request = function (req) {\n var parseJSON = function (v) {\n if (v === \"\") {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(Data_Argonaut_Core.jsonEmptyObject);\n };\n return Data_Either.either(function ($66) {\n return Foreign.fail(Foreign.ForeignError.create($66));\n })(Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity)))(Data_Argonaut_Parser.jsonParser(v));\n };\n var fromResponse$prime = (function () {\n if (req.responseFormat instanceof Affjax_ResponseFormat[\"ArrayBuffer\"]) {\n return Foreign.unsafeReadTagged(\"ArrayBuffer\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Blob) {\n return Foreign.unsafeReadTagged(\"Blob\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Document) {\n return Foreign.unsafeReadTagged(\"Document\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Json) {\n return Control_Bind.composeKleisliFlipped(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(function ($67) {\n return req.responseFormat.value0(parseJSON($67));\n })(Foreign.unsafeReadTagged(\"String\"));\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat[\"String\"]) {\n return Foreign.unsafeReadTagged(\"String\");\n };\n if (req.responseFormat instanceof Affjax_ResponseFormat.Ignore) {\n return Data_Function[\"const\"](req.responseFormat.value0(Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(Data_Unit.unit)));\n };\n throw new Error(\"Failed pattern match at Affjax (line 294, column 19 - line 300, column 57): \" + [ req.responseFormat.constructor.name ]);\n })();\n var extractContent = function (v) {\n if (v instanceof Affjax_RequestBody.ArrayView) {\n return v.value0(Foreign.unsafeToForeign);\n };\n if (v instanceof Affjax_RequestBody.Blob) {\n return Foreign.unsafeToForeign(v.value0);\n };\n if (v instanceof Affjax_RequestBody.Document) {\n return Foreign.unsafeToForeign(v.value0);\n };\n if (v instanceof Affjax_RequestBody[\"String\"]) {\n return Foreign.unsafeToForeign(v.value0);\n };\n if (v instanceof Affjax_RequestBody.FormData) {\n return Foreign.unsafeToForeign(v.value0);\n };\n if (v instanceof Affjax_RequestBody.FormURLEncoded) {\n return Foreign.unsafeToForeign(Data_FormURLEncoded.encode(v.value0));\n };\n if (v instanceof Affjax_RequestBody.Json) {\n return Foreign.unsafeToForeign(Data_Argonaut_Core.stringify(v.value0));\n };\n throw new Error(\"Failed pattern match at Affjax (line 268, column 20 - line 275, column 57): \" + [ v.constructor.name ]);\n };\n var addHeader = function (mh) {\n return function (hs) {\n if (mh instanceof Data_Maybe.Just && !Data_Foldable.any(Data_Foldable.foldableArray)(Data_HeytingAlgebra.heytingAlgebraBoolean)(Data_Function.on(Data_Eq.eq(Data_Eq.eqString))(Affjax_RequestHeader.name)(mh.value0))(hs)) {\n return Data_Array.snoc(hs)(mh.value0);\n };\n return hs;\n };\n };\n var headers = function (reqContent) {\n return addHeader(Data_Functor.map(Data_Maybe.functorMaybe)(Affjax_RequestHeader.ContentType.create)(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Affjax_RequestBody.toMediaType)(reqContent)))(addHeader(Data_Functor.map(Data_Maybe.functorMaybe)(Affjax_RequestHeader.Accept.create)(Affjax_ResponseFormat.toMediaType(req.responseFormat)))(req.headers));\n };\n var req$prime = {\n method: Data_HTTP_Method.print(req.method),\n url: req.url,\n headers: Data_Functor.map(Data_Functor.functorArray)(function (h) {\n return {\n field: Affjax_RequestHeader.name(h),\n value: Affjax_RequestHeader.value(h)\n };\n })(headers(req.content)),\n content: Data_Nullable.toNullable(Data_Functor.map(Data_Maybe.functorMaybe)(extractContent)(req.content)),\n responseType: Affjax_ResponseFormat.toResponseType(req.responseFormat),\n username: Data_Nullable.toNullable(req.username),\n password: Data_Nullable.toNullable(req.password),\n withCredentials: req.withCredentials\n };\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Aff_Compat.fromEffectFnAff($foreign[\"_ajax\"](Affjax_ResponseHeader.ResponseHeader.create, req$prime)))(function (v) {\n var v1 = Control_Monad_Except.runExcept(fromResponse$prime(v.body));\n if (v1 instanceof Data_Either.Left) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)({\n body: new Data_Either.Left(new Affjax_ResponseFormat.ResponseFormatError(Data_List_NonEmpty.head(v1.value0), v.body)),\n headers: v.headers,\n status: v.status,\n statusText: v.statusText\n });\n };\n if (v1 instanceof Data_Either.Right) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)({\n body: new Data_Either.Right(v1.value0),\n headers: v.headers,\n status: v.status,\n statusText: v.statusText\n });\n };\n throw new Error(\"Failed pattern match at Affjax (line 248, column 3 - line 252, column 39): \" + [ v1.constructor.name ]);\n });\n };\n var defaultRequest = {\n method: new Data_Either.Left(Data_HTTP_Method.GET.value),\n url: \"/\",\n headers: [ ],\n content: Data_Maybe.Nothing.value,\n username: Data_Maybe.Nothing.value,\n password: Data_Maybe.Nothing.value,\n withCredentials: false,\n responseFormat: Affjax_ResponseFormat.ignore\n };\n exports[\"defaultRequest\"] = defaultRequest;\n exports[\"request\"] = request;\n})(PS[\"Affjax\"] = PS[\"Affjax\"] || {});\n(function(exports) {\n \"use strict\";\n var moment =require(\"moment\"); \n\n exports._app = function() {\n return app;\n }\n\n exports._mmoment8601 = function(just, nothing, tuple, s) {\n try {\n var m = moment(s, moment.ISO_8601);\n var s1 = m.fromNow();\n var s2 = m.format('MMMM D YYYY, h:mm a') + \" (\" + m.format() + \") \";\n return just(tuple(s1)(s2));\n } catch (error) {\n return nothing\n }\n }\n\n exports._closeWindow = function (window) {\n window.close();\n };\n})(PS[\"Globals\"] = PS[\"Globals\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unsafeReadPropImpl = function (f, s, key, value) {\n return value == null ? f : s(value[key]);\n };\n})(PS[\"Foreign.Index\"] = PS[\"Foreign.Index\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Foreign.Index\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_List_NonEmpty = PS[\"Data.List.NonEmpty\"];\n var Foreign = PS[\"Foreign\"];\n var Prelude = PS[\"Prelude\"];\n var unsafeReadProp = function (k) {\n return function (value) {\n return $foreign.unsafeReadPropImpl(Foreign.fail(new Foreign.TypeMismatch(\"object\", Foreign.typeOf(value))), Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity)), k, value);\n };\n };\n var readProp = unsafeReadProp;\n exports[\"readProp\"] = readProp;\n})(PS[\"Foreign.Index\"] = PS[\"Foreign.Index\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Prelude = PS[\"Prelude\"];\n var Record_Unsafe = PS[\"Record.Unsafe\"];\n var Record_Unsafe_Union = PS[\"Record.Unsafe.Union\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"];\n var Type_Row = PS[\"Type.Row\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var get = function (dictIsSymbol) {\n return function (dictCons) {\n return function (l) {\n return function (r) {\n return Record_Unsafe.unsafeGet(Data_Symbol.reflectSymbol(dictIsSymbol)(l))(r);\n };\n };\n };\n };\n exports[\"get\"] = get;\n})(PS[\"Record\"] = PS[\"Record\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.copyRecord = function(rec) {\n var copy = {};\n for (var key in rec) {\n if ({}.hasOwnProperty.call(rec, key)) {\n copy[key] = rec[key];\n }\n }\n return copy;\n };\n\n exports.unsafeInsert = function(l) {\n return function(a) {\n return function(rec) {\n rec[l] = a;\n return rec;\n };\n };\n };\n})(PS[\"Record.Builder\"] = PS[\"Record.Builder\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Record.Builder\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Prelude = PS[\"Prelude\"];\n var Record_Unsafe_Union = PS[\"Record.Unsafe.Union\"];\n var Type_Row = PS[\"Type.Row\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var semigroupoidBuilder = Control_Semigroupoid.semigroupoidFn;\n var insert = function (dictCons) {\n return function (dictLacks) {\n return function (dictIsSymbol) {\n return function (l) {\n return function (a) {\n return function (r1) {\n return $foreign.unsafeInsert(Data_Symbol.reflectSymbol(dictIsSymbol)(l))(a)(r1);\n };\n };\n };\n };\n };\n };\n var categoryBuilder = Control_Category.categoryFn;\n var build = function (v) {\n return function (r1) {\n return v($foreign.copyRecord(r1));\n };\n };\n exports[\"build\"] = build;\n exports[\"insert\"] = insert;\n exports[\"semigroupoidBuilder\"] = semigroupoidBuilder;\n exports[\"categoryBuilder\"] = categoryBuilder;\n})(PS[\"Record.Builder\"] = PS[\"Record.Builder\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Simple.JSON\"];\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad_Except = PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Variant = PS[\"Data.Variant\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Effect_Unsafe = PS[\"Effect.Unsafe\"];\n var Foreign = PS[\"Foreign\"];\n var Foreign_Index = PS[\"Foreign.Index\"];\n var Foreign_Object = PS[\"Foreign.Object\"];\n var Global_Unsafe = PS[\"Global.Unsafe\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var Record = PS[\"Record\"];\n var Record_Builder = PS[\"Record.Builder\"];\n var Type_Data_RowList = PS[\"Type.Data.RowList\"];\n var Type_Prelude = PS[\"Type.Prelude\"];\n var WriteForeign = function (writeImpl) {\n this.writeImpl = writeImpl;\n };\n var WriteForeignFields = function (writeImplFields) {\n this.writeImplFields = writeImplFields;\n };\n var writeImplFields = function (dict) {\n return dict.writeImplFields;\n };\n var writeImpl = function (dict) {\n return dict.writeImpl;\n };\n var writeJSON = function (dictWriteForeign) {\n return function ($85) {\n return Global_Unsafe.unsafeStringify(writeImpl(dictWriteForeign)($85));\n };\n };\n var writeForeignString = new WriteForeign(Foreign.unsafeToForeign);\n var writeForeignNullable = function (dictWriteForeign) {\n return new WriteForeign(function ($87) {\n return Data_Maybe.maybe(Foreign.unsafeToForeign(Data_Nullable.toNullable(Data_Maybe.Nothing.value)))(writeImpl(dictWriteForeign))(Data_Nullable.toMaybe($87));\n });\n };\n var writeForeignInt = new WriteForeign(Foreign.unsafeToForeign); \n var writeForeignBoolean = new WriteForeign(Foreign.unsafeToForeign);\n var recordWriteForeign = function (dictRowToList) {\n return function (dictWriteForeignFields) {\n return new WriteForeign(function (rec) {\n var steps = writeImplFields(dictWriteForeignFields)(Type_Data_RowList.RLProxy.value)(rec);\n return Foreign.unsafeToForeign(Record_Builder.build(steps)({}));\n });\n };\n }; \n var nilWriteForeignFields = new WriteForeignFields(function (v) {\n return function (v1) {\n return Control_Category.identity(Record_Builder.categoryBuilder);\n };\n });\n var consWriteForeignFields = function (dictIsSymbol) {\n return function (dictWriteForeign) {\n return function (dictWriteForeignFields) {\n return function (dictCons) {\n return function (dictLacks) {\n return function (dictCons1) {\n return new WriteForeignFields(function (v) {\n return function (rec) {\n var rest = writeImplFields(dictWriteForeignFields)(Type_Data_RowList.RLProxy.value)(rec);\n var value = writeImpl(dictWriteForeign)(Record.get(dictIsSymbol)(dictCons)(Data_Symbol.SProxy.value)(rec));\n var result = Control_Semigroupoid.compose(Record_Builder.semigroupoidBuilder)(Record_Builder.insert(dictCons1)(dictLacks)(dictIsSymbol)(Data_Symbol.SProxy.value)(value))(rest);\n return result;\n };\n });\n };\n };\n };\n };\n };\n };\n exports[\"writeJSON\"] = writeJSON;\n exports[\"WriteForeign\"] = WriteForeign;\n exports[\"writeImpl\"] = writeImpl;\n exports[\"WriteForeignFields\"] = WriteForeignFields;\n exports[\"writeImplFields\"] = writeImplFields;\n exports[\"writeForeignString\"] = writeForeignString;\n exports[\"writeForeignInt\"] = writeForeignInt;\n exports[\"writeForeignBoolean\"] = writeForeignBoolean;\n exports[\"writeForeignNullable\"] = writeForeignNullable;\n exports[\"recordWriteForeign\"] = recordWriteForeign;\n exports[\"consWriteForeignFields\"] = consWriteForeignFields;\n exports[\"nilWriteForeignFields\"] = nilWriteForeignFields;\n})(PS[\"Simple.JSON\"] = PS[\"Simple.JSON\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Simple_JSON = PS[\"Simple.JSON\"];\n var usersettings_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"archiveDefault\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"privacyLock\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"privateDefault\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.nilWriteForeignFields)()()())()()())()()());\n var note_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"created\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"id\";\n }))(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"isMarkdown\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"length\";\n }))(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"slug\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"text\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"title\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"updated\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.nilWriteForeignFields)()()())()()())()()())()()())()()())()()())()()())()()());\n var bookmark_wfI = Simple_JSON.recordWriteForeign()(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"archiveUrl\";\n }))(Simple_JSON.writeForeignNullable(Simple_JSON.writeForeignString))(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"bid\";\n }))(Simple_JSON.writeForeignInt)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"description\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"private\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"selected\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"slug\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"tags\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"time\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"title\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"toread\";\n }))(Simple_JSON.writeForeignBoolean)(Simple_JSON.consWriteForeignFields(new Data_Symbol.IsSymbol(function () {\n return \"url\";\n }))(Simple_JSON.writeForeignString)(Simple_JSON.nilWriteForeignFields)()()())()()())()()())()()())()()())()()())()()())()()())()()())()()())()()());\n exports[\"bookmark_wfI\"] = bookmark_wfI;\n exports[\"note_wfI\"] = note_wfI;\n exports[\"usersettings_wfI\"] = usersettings_wfI;\n})(PS[\"Model\"] = PS[\"Model\"] || {});\n(function(exports) {\n /* global window */\n \"use strict\";\n\n exports.window = function () {\n return window;\n };\n})(PS[\"Web.HTML\"] = PS[\"Web.HTML\"] || {});\n(function(exports) {\n \"use strict\"; \n\n exports._querySelector = function (selector) {\n return function (node) {\n return function () {\n return node.querySelector(selector);\n };\n };\n };\n})(PS[\"Web.DOM.ParentNode\"] = PS[\"Web.DOM.ParentNode\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.DOM.ParentNode\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM_HTMLCollection = PS[\"Web.DOM.HTMLCollection\"];\n var Web_DOM_Internal_Types = PS[\"Web.DOM.Internal.Types\"];\n var Web_DOM_NodeList = PS[\"Web.DOM.NodeList\"];\n var querySelector = function (qs) {\n return function ($3) {\n return Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe)($foreign[\"_querySelector\"](qs)($3));\n };\n };\n exports[\"querySelector\"] = querySelector;\n})(PS[\"Web.DOM.ParentNode\"] = PS[\"Web.DOM.ParentNode\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.eventListener = function (fn) {\n return function () {\n return function (event) {\n return fn(event)();\n };\n };\n };\n})(PS[\"Web.Event.EventTarget\"] = PS[\"Web.Event.EventTarget\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports._currentTarget = function (e) {\n return e.currentTarget;\n };\n\n exports.preventDefault = function (e) {\n return function () {\n return e.preventDefault();\n };\n };\n})(PS[\"Web.Event.Event\"] = PS[\"Web.Event.Event\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.toCharCode = function (c) {\n return c.charCodeAt(0);\n };\n\n exports.fromCharCode = function (c) {\n return String.fromCharCode(c);\n };\n})(PS[\"Data.Enum\"] = PS[\"Data.Enum\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.Enum\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var Enum = function (Ord0, pred, succ) {\n this.Ord0 = Ord0;\n this.pred = pred;\n this.succ = succ;\n };\n var BoundedEnum = function (Bounded0, Enum1, cardinality, fromEnum, toEnum) {\n this.Bounded0 = Bounded0;\n this.Enum1 = Enum1;\n this.cardinality = cardinality;\n this.fromEnum = fromEnum;\n this.toEnum = toEnum;\n };\n var toEnum = function (dict) {\n return dict.toEnum;\n };\n var succ = function (dict) {\n return dict.succ;\n }; \n var pred = function (dict) {\n return dict.pred;\n }; \n var fromEnum = function (dict) {\n return dict.fromEnum;\n };\n var toEnumWithDefaults = function (dictBoundedEnum) {\n return function (low) {\n return function (high) {\n return function (x) {\n var v = toEnum(dictBoundedEnum)(x);\n if (v instanceof Data_Maybe.Just) {\n return v.value0;\n };\n if (v instanceof Data_Maybe.Nothing) {\n var $54 = x < fromEnum(dictBoundedEnum)(Data_Bounded.bottom(dictBoundedEnum.Bounded0()));\n if ($54) {\n return low;\n };\n return high;\n };\n throw new Error(\"Failed pattern match at Data.Enum (line 158, column 33 - line 160, column 62): \" + [ v.constructor.name ]);\n };\n };\n };\n };\n var defaultSucc = function (toEnum$prime) {\n return function (fromEnum$prime) {\n return function (a) {\n return toEnum$prime(fromEnum$prime(a) + 1 | 0);\n };\n };\n };\n var defaultPred = function (toEnum$prime) {\n return function (fromEnum$prime) {\n return function (a) {\n return toEnum$prime(fromEnum$prime(a) - 1 | 0);\n };\n };\n };\n var charToEnum = function (v) {\n if (v >= Data_Bounded.bottom(Data_Bounded.boundedInt) && v <= Data_Bounded.top(Data_Bounded.boundedInt)) {\n return new Data_Maybe.Just($foreign.fromCharCode(v));\n };\n return Data_Maybe.Nothing.value;\n };\n var enumChar = new Enum(function () {\n return Data_Ord.ordChar;\n }, defaultPred(charToEnum)($foreign.toCharCode), defaultSucc(charToEnum)($foreign.toCharCode));\n var cardinality = function (dict) {\n return dict.cardinality;\n }; \n var boundedEnumChar = new BoundedEnum(function () {\n return Data_Bounded.boundedChar;\n }, function () {\n return enumChar;\n }, $foreign.toCharCode(Data_Bounded.top(Data_Bounded.boundedChar)) - $foreign.toCharCode(Data_Bounded.bottom(Data_Bounded.boundedChar)) | 0, $foreign.toCharCode, charToEnum);\n exports[\"Enum\"] = Enum;\n exports[\"succ\"] = succ;\n exports[\"pred\"] = pred;\n exports[\"BoundedEnum\"] = BoundedEnum;\n exports[\"cardinality\"] = cardinality;\n exports[\"toEnum\"] = toEnum;\n exports[\"fromEnum\"] = fromEnum;\n exports[\"toEnumWithDefaults\"] = toEnumWithDefaults;\n exports[\"defaultSucc\"] = defaultSucc;\n exports[\"defaultPred\"] = defaultPred;\n exports[\"enumChar\"] = enumChar;\n exports[\"boundedEnumChar\"] = boundedEnumChar;\n})(PS[\"Data.Enum\"] = PS[\"Data.Enum\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.Event.Event\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_DateTime_Instant = PS[\"Data.DateTime.Instant\"];\n var Data_Enum = PS[\"Data.Enum\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Web_Event_EventPhase = PS[\"Web.Event.EventPhase\"];\n var Web_Event_Internal_Types = PS[\"Web.Event.Internal.Types\"];\n var currentTarget = function ($6) {\n return Data_Nullable.toMaybe($foreign[\"_currentTarget\"]($6));\n };\n exports[\"currentTarget\"] = currentTarget;\n exports[\"preventDefault\"] = $foreign.preventDefault;\n})(PS[\"Web.Event.Event\"] = PS[\"Web.Event.Event\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.Event.EventTarget\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_Event_Internal_Types = PS[\"Web.Event.Internal.Types\"];\n exports[\"eventListener\"] = $foreign.eventListener;\n})(PS[\"Web.Event.EventTarget\"] = PS[\"Web.Event.EventTarget\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports._read = function (nothing, just, value) {\n var tag = Object.prototype.toString.call(value);\n if (tag.indexOf(\"[object HTML\") === 0 && tag.indexOf(\"Element]\") === tag.length - 8) {\n return just(value);\n } else {\n return nothing;\n }\n };\n})(PS[\"Web.HTML.HTMLElement\"] = PS[\"Web.HTML.HTMLElement\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.removeAttribute = function (name) {\n return function (element) {\n return function () {\n element.removeAttribute(name);\n return {};\n };\n };\n };\n})(PS[\"Web.DOM.Element\"] = PS[\"Web.DOM.Element\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.DOM.Element\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_ChildNode = PS[\"Web.DOM.ChildNode\"];\n var Web_DOM_Internal_Types = PS[\"Web.DOM.Internal.Types\"];\n var Web_DOM_NonDocumentTypeChildNode = PS[\"Web.DOM.NonDocumentTypeChildNode\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var Web_Internal_FFI = PS[\"Web.Internal.FFI\"]; \n var toNode = Unsafe_Coerce.unsafeCoerce;\n exports[\"toNode\"] = toNode;\n exports[\"removeAttribute\"] = $foreign.removeAttribute;\n})(PS[\"Web.DOM.Element\"] = PS[\"Web.DOM.Element\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.HTML.HTMLElement\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM = PS[\"Web.DOM\"];\n var Web_DOM_DOMTokenList = PS[\"Web.DOM.DOMTokenList\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_Internal_Types = PS[\"Web.DOM.Internal.Types\"];\n var Web_DOM_NonDocumentTypeChildNode = PS[\"Web.DOM.NonDocumentTypeChildNode\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"]; \n var toNode = Unsafe_Coerce.unsafeCoerce; \n var toElement = Unsafe_Coerce.unsafeCoerce;\n var fromElement = function (x) {\n return $foreign[\"_read\"](Data_Maybe.Nothing.value, Data_Maybe.Just.create, x);\n };\n exports[\"fromElement\"] = fromElement;\n exports[\"toElement\"] = toElement;\n exports[\"toNode\"] = toNode;\n})(PS[\"Web.HTML.HTMLElement\"] = PS[\"Web.HTML.HTMLElement\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.HTML.HTMLDocument\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Internal_Types = PS[\"Web.DOM.Internal.Types\"];\n var Web_DOM_NonElementParentNode = PS[\"Web.DOM.NonElementParentNode\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var Web_HTML_HTMLDocument_ReadyState = PS[\"Web.HTML.HTMLDocument.ReadyState\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_HTMLScriptElement = PS[\"Web.HTML.HTMLScriptElement\"];\n var Web_Internal_FFI = PS[\"Web.Internal.FFI\"]; \n var toParentNode = Unsafe_Coerce.unsafeCoerce; \n var toDocument = Unsafe_Coerce.unsafeCoerce;\n exports[\"toDocument\"] = toDocument;\n exports[\"toParentNode\"] = toParentNode;\n})(PS[\"Web.HTML.HTMLDocument\"] = PS[\"Web.HTML.HTMLDocument\"] || {});\n(function(exports) {\n \"use strict\";\n\n // ----------------------------------------------------------------------------\n\n exports.href = function (location) {\n return function () {\n return location.href;\n };\n };\n\n exports.setHref = function (href) {\n return function (location) {\n return function () {\n location.href = href;\n };\n };\n };\n\n // ----------------------------------------------------------------------------\n\n exports.search = function (location) {\n return function () {\n return location.search;\n };\n };\n\n // ----------------------------------------------------------------------------\n\n exports.reload = function (location) {\n return function () {\n location.reload();\n };\n };\n})(PS[\"Web.HTML.Location\"] = PS[\"Web.HTML.Location\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.HTML.Location\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n exports[\"setHref\"] = $foreign.setHref;\n exports[\"search\"] = $foreign.search;\n exports[\"reload\"] = $foreign.reload;\n})(PS[\"Web.HTML.Location\"] = PS[\"Web.HTML.Location\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.document = function (window) {\n return function () {\n return window.document;\n };\n };\n\n exports.location = function (window) {\n return function () {\n return window.location;\n };\n };\n})(PS[\"Web.HTML.Window\"] = PS[\"Web.HTML.Window\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.HTML.Window\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var Web_HTML_HTMLDocument = PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_History = PS[\"Web.HTML.History\"];\n var Web_HTML_Location = PS[\"Web.HTML.Location\"];\n var Web_HTML_Navigator = PS[\"Web.HTML.Navigator\"];\n var Web_Storage_Storage = PS[\"Web.Storage.Storage\"];\n exports[\"document\"] = $foreign.document;\n exports[\"location\"] = $foreign.location;\n})(PS[\"Web.HTML.Window\"] = PS[\"Web.HTML.Window\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.HTML\"];\n var Effect = PS[\"Effect\"];\n var Web_HTML_HTMLAnchorElement = PS[\"Web.HTML.HTMLAnchorElement\"];\n var Web_HTML_HTMLAreaElement = PS[\"Web.HTML.HTMLAreaElement\"];\n var Web_HTML_HTMLAudioElement = PS[\"Web.HTML.HTMLAudioElement\"];\n var Web_HTML_HTMLBRElement = PS[\"Web.HTML.HTMLBRElement\"];\n var Web_HTML_HTMLBaseElement = PS[\"Web.HTML.HTMLBaseElement\"];\n var Web_HTML_HTMLBodyElement = PS[\"Web.HTML.HTMLBodyElement\"];\n var Web_HTML_HTMLButtonElement = PS[\"Web.HTML.HTMLButtonElement\"];\n var Web_HTML_HTMLCanvasElement = PS[\"Web.HTML.HTMLCanvasElement\"];\n var Web_HTML_HTMLDListElement = PS[\"Web.HTML.HTMLDListElement\"];\n var Web_HTML_HTMLDataElement = PS[\"Web.HTML.HTMLDataElement\"];\n var Web_HTML_HTMLDataListElement = PS[\"Web.HTML.HTMLDataListElement\"];\n var Web_HTML_HTMLDivElement = PS[\"Web.HTML.HTMLDivElement\"];\n var Web_HTML_HTMLDocument = PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_HTMLEmbedElement = PS[\"Web.HTML.HTMLEmbedElement\"];\n var Web_HTML_HTMLFieldSetElement = PS[\"Web.HTML.HTMLFieldSetElement\"];\n var Web_HTML_HTMLFormElement = PS[\"Web.HTML.HTMLFormElement\"];\n var Web_HTML_HTMLHRElement = PS[\"Web.HTML.HTMLHRElement\"];\n var Web_HTML_HTMLHeadElement = PS[\"Web.HTML.HTMLHeadElement\"];\n var Web_HTML_HTMLHeadingElement = PS[\"Web.HTML.HTMLHeadingElement\"];\n var Web_HTML_HTMLIFrameElement = PS[\"Web.HTML.HTMLIFrameElement\"];\n var Web_HTML_HTMLImageElement = PS[\"Web.HTML.HTMLImageElement\"];\n var Web_HTML_HTMLInputElement = PS[\"Web.HTML.HTMLInputElement\"];\n var Web_HTML_HTMLKeygenElement = PS[\"Web.HTML.HTMLKeygenElement\"];\n var Web_HTML_HTMLLIElement = PS[\"Web.HTML.HTMLLIElement\"];\n var Web_HTML_HTMLLabelElement = PS[\"Web.HTML.HTMLLabelElement\"];\n var Web_HTML_HTMLLegendElement = PS[\"Web.HTML.HTMLLegendElement\"];\n var Web_HTML_HTMLLinkElement = PS[\"Web.HTML.HTMLLinkElement\"];\n var Web_HTML_HTMLMapElement = PS[\"Web.HTML.HTMLMapElement\"];\n var Web_HTML_HTMLMediaElement = PS[\"Web.HTML.HTMLMediaElement\"];\n var Web_HTML_HTMLMetaElement = PS[\"Web.HTML.HTMLMetaElement\"];\n var Web_HTML_HTMLMeterElement = PS[\"Web.HTML.HTMLMeterElement\"];\n var Web_HTML_HTMLModElement = PS[\"Web.HTML.HTMLModElement\"];\n var Web_HTML_HTMLOListElement = PS[\"Web.HTML.HTMLOListElement\"];\n var Web_HTML_HTMLObjectElement = PS[\"Web.HTML.HTMLObjectElement\"];\n var Web_HTML_HTMLOptGroupElement = PS[\"Web.HTML.HTMLOptGroupElement\"];\n var Web_HTML_HTMLOptionElement = PS[\"Web.HTML.HTMLOptionElement\"];\n var Web_HTML_HTMLOutputElement = PS[\"Web.HTML.HTMLOutputElement\"];\n var Web_HTML_HTMLParagraphElement = PS[\"Web.HTML.HTMLParagraphElement\"];\n var Web_HTML_HTMLParamElement = PS[\"Web.HTML.HTMLParamElement\"];\n var Web_HTML_HTMLPreElement = PS[\"Web.HTML.HTMLPreElement\"];\n var Web_HTML_HTMLProgressElement = PS[\"Web.HTML.HTMLProgressElement\"];\n var Web_HTML_HTMLQuoteElement = PS[\"Web.HTML.HTMLQuoteElement\"];\n var Web_HTML_HTMLScriptElement = PS[\"Web.HTML.HTMLScriptElement\"];\n var Web_HTML_HTMLSelectElement = PS[\"Web.HTML.HTMLSelectElement\"];\n var Web_HTML_HTMLSourceElement = PS[\"Web.HTML.HTMLSourceElement\"];\n var Web_HTML_HTMLSpanElement = PS[\"Web.HTML.HTMLSpanElement\"];\n var Web_HTML_HTMLStyleElement = PS[\"Web.HTML.HTMLStyleElement\"];\n var Web_HTML_HTMLTableCaptionElement = PS[\"Web.HTML.HTMLTableCaptionElement\"];\n var Web_HTML_HTMLTableCellElement = PS[\"Web.HTML.HTMLTableCellElement\"];\n var Web_HTML_HTMLTableColElement = PS[\"Web.HTML.HTMLTableColElement\"];\n var Web_HTML_HTMLTableDataCellElement = PS[\"Web.HTML.HTMLTableDataCellElement\"];\n var Web_HTML_HTMLTableElement = PS[\"Web.HTML.HTMLTableElement\"];\n var Web_HTML_HTMLTableHeaderCellElement = PS[\"Web.HTML.HTMLTableHeaderCellElement\"];\n var Web_HTML_HTMLTableRowElement = PS[\"Web.HTML.HTMLTableRowElement\"];\n var Web_HTML_HTMLTableSectionElement = PS[\"Web.HTML.HTMLTableSectionElement\"];\n var Web_HTML_HTMLTemplateElement = PS[\"Web.HTML.HTMLTemplateElement\"];\n var Web_HTML_HTMLTextAreaElement = PS[\"Web.HTML.HTMLTextAreaElement\"];\n var Web_HTML_HTMLTimeElement = PS[\"Web.HTML.HTMLTimeElement\"];\n var Web_HTML_HTMLTitleElement = PS[\"Web.HTML.HTMLTitleElement\"];\n var Web_HTML_HTMLTrackElement = PS[\"Web.HTML.HTMLTrackElement\"];\n var Web_HTML_HTMLUListElement = PS[\"Web.HTML.HTMLUListElement\"];\n var Web_HTML_HTMLVideoElement = PS[\"Web.HTML.HTMLVideoElement\"];\n var Web_HTML_History = PS[\"Web.HTML.History\"];\n var Web_HTML_Location = PS[\"Web.HTML.Location\"];\n var Web_HTML_Navigator = PS[\"Web.HTML.Navigator\"];\n var Web_HTML_Window = PS[\"Web.HTML.Window\"];\n exports[\"window\"] = $foreign.window;\n})(PS[\"Web.HTML\"] = PS[\"Web.HTML\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Globals\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Effect = PS[\"Effect\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM = PS[\"Web.DOM\"];\n var Web_HTML = PS[\"Web.HTML\"];\n var Web_XHR_FormData = PS[\"Web.XHR.FormData\"]; \n var RawHTML = function (x) {\n return x;\n };\n var mmoment8601 = function (s) {\n return $foreign[\"_mmoment8601\"](Data_Maybe.Just.create, Data_Maybe.Nothing.value, Data_Tuple.Tuple.create, s);\n };\n var closeWindow = function (win) {\n return Control_Applicative.pure(Effect.applicativeEffect)($foreign[\"_closeWindow\"](win));\n };\n var app$prime = function (v) {\n return $foreign[\"_app\"]();\n };\n exports[\"app'\"] = app$prime;\n exports[\"mmoment8601\"] = mmoment8601;\n exports[\"closeWindow\"] = closeWindow;\n exports[\"RawHTML\"] = RawHTML;\n})(PS[\"Globals\"] = PS[\"Globals\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Affjax = PS[\"Affjax\"];\n var Affjax_RequestBody = PS[\"Affjax.RequestBody\"];\n var Affjax_RequestHeader = PS[\"Affjax.RequestHeader\"];\n var Affjax_ResponseFormat = PS[\"Affjax.ResponseFormat\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Argonaut = PS[\"Data.Argonaut\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_FormURLEncoded = PS[\"Data.FormURLEncoded\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HTTP_Method = PS[\"Data.HTTP.Method\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_MediaType_Common = PS[\"Data.MediaType.Common\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Globals = PS[\"Globals\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Simple_JSON = PS[\"Simple.JSON\"];\n var Web_HTML = PS[\"Web.HTML\"];\n var Web_HTML_Location = PS[\"Web.HTML.Location\"];\n var Web_HTML_Window = PS[\"Web.HTML.Window\"]; \n var Star = (function () {\n function Star() {\n\n };\n Star.value = new Star();\n return Star;\n })();\n var UnStar = (function () {\n function UnStar() {\n\n };\n UnStar.value = new UnStar();\n return UnStar;\n })();\n var showStar = new Data_Show.Show(function (v) {\n if (v instanceof Star) {\n return \"star\";\n };\n if (v instanceof UnStar) {\n return \"unstar\";\n };\n throw new Error(\"Failed pattern match at App (line 28, column 1 - line 28, column 37): \" + [ v.constructor.name ]);\n });\n var fetchUrl = function (method) {\n return function (url) {\n return function (headers) {\n return function (content) {\n return function (rt) {\n var app = Globals[\"app'\"](Data_Unit.unit);\n return Affjax.request({\n method: new Data_Either.Left(method),\n url: url,\n headers: Data_Array.cons(new Affjax_RequestHeader.RequestHeader(app.csrfHeaderName, app.csrfToken))(headers),\n content: content,\n username: Affjax.defaultRequest.username,\n password: Affjax.defaultRequest.password,\n withCredentials: Affjax.defaultRequest.withCredentials,\n responseFormat: rt\n });\n };\n };\n };\n };\n };\n var logout = function (u) {\n var app = Globals[\"app'\"](u);\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(fetchUrl(Data_HTTP_Method.POST.value)(app.authRlogoutR)([ ])(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore)))(function () {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Control_Bind.bind(Effect.bindEffect)(Control_Bind.bind(Effect.bindEffect)(Web_HTML.window)(Web_HTML_Window.location))(Web_HTML_Location.reload));\n });\n };\n var fetchPath = function (method) {\n return function (path) {\n return function (headers) {\n return function (content) {\n return function (rt) {\n return fetchUrl(method)((Globals[\"app'\"](Data_Unit.unit)).homeR + path)(headers)(content)(rt);\n };\n };\n };\n };\n };\n var fetchUrlEnc = function (method) {\n return function (path) {\n return function (content) {\n return function (rt) {\n return fetchPath(method)(path)([ new Affjax_RequestHeader.ContentType(Data_MediaType_Common.applicationFormURLEncoded) ])(Data_Functor.map(Data_Maybe.functorMaybe)(Affjax_RequestBody.FormURLEncoded.create)(content))(rt);\n };\n };\n };\n };\n var markRead = function (bid) {\n var path = \"bm/\" + (Data_Show.show(Data_Show.showInt)(bid) + \"/read\");\n return fetchUrlEnc(Data_HTTP_Method.POST.value)(path)(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore);\n };\n var toggleStar = function (bid) {\n return function (action) {\n var path = \"bm/\" + (Data_Show.show(Data_Show.showInt)(bid) + (\"/\" + Data_Show.show(showStar)(action)));\n return Data_Functor[\"void\"](Effect_Aff.functorAff)(fetchUrlEnc(Data_HTTP_Method.POST.value)(path)(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore));\n };\n };\n var fetchJson = function (dictWriteForeign) {\n return function (method) {\n return function (path) {\n return function (content) {\n return function (rt) {\n return fetchPath(method)(path)([ new Affjax_RequestHeader.ContentType(Data_MediaType_Common.applicationJSON) ])(Data_Functor.map(Data_Maybe.functorMaybe)(function ($4) {\n return Affjax_RequestBody.string(Simple_JSON.writeJSON(dictWriteForeign)($4));\n })(content))(rt);\n };\n };\n };\n };\n };\n var editNote = function (bm) {\n return fetchJson(Model.note_wfI)(Data_HTTP_Method.POST.value)(\"api/note/add\")(new Data_Maybe.Just(bm))(Affjax_ResponseFormat.json);\n };\n var editBookmark = function (bm) {\n return fetchJson(Model.bookmark_wfI)(Data_HTTP_Method.POST.value)(\"api/add\")(new Data_Maybe.Just(bm))(Affjax_ResponseFormat.ignore);\n };\n var editAccountSettings = function (us) {\n return fetchJson(Model.usersettings_wfI)(Data_HTTP_Method.POST.value)(\"api/accountSettings\")(new Data_Maybe.Just(us))(Affjax_ResponseFormat.ignore);\n };\n var destroyNote = function (nid) {\n return fetchUrlEnc(Data_HTTP_Method.DELETE.value)(\"api/note/\" + Data_Show.show(Data_Show.showInt)(nid))(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore);\n };\n var destroy = function (bid) {\n return fetchUrlEnc(Data_HTTP_Method.DELETE.value)(\"bm/\" + Data_Show.show(Data_Show.showInt)(bid))(Data_Maybe.Nothing.value)(Affjax_ResponseFormat.ignore);\n };\n exports[\"Star\"] = Star;\n exports[\"UnStar\"] = UnStar;\n exports[\"toggleStar\"] = toggleStar;\n exports[\"destroy\"] = destroy;\n exports[\"markRead\"] = markRead;\n exports[\"editBookmark\"] = editBookmark;\n exports[\"editNote\"] = editNote;\n exports[\"destroyNote\"] = destroyNote;\n exports[\"editAccountSettings\"] = editAccountSettings;\n exports[\"logout\"] = logout;\n exports[\"fetchJson\"] = fetchJson;\n exports[\"fetchUrlEnc\"] = fetchUrlEnc;\n exports[\"fetchPath\"] = fetchPath;\n exports[\"fetchUrl\"] = fetchUrl;\n exports[\"showStar\"] = showStar;\n})(PS[\"App\"] = PS[\"App\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var InputButton = (function () {\n function InputButton() {\n\n };\n InputButton.value = new InputButton();\n return InputButton;\n })();\n var InputCheckbox = (function () {\n function InputCheckbox() {\n\n };\n InputCheckbox.value = new InputCheckbox();\n return InputCheckbox;\n })();\n var InputColor = (function () {\n function InputColor() {\n\n };\n InputColor.value = new InputColor();\n return InputColor;\n })();\n var InputDate = (function () {\n function InputDate() {\n\n };\n InputDate.value = new InputDate();\n return InputDate;\n })();\n var InputDatetimeLocal = (function () {\n function InputDatetimeLocal() {\n\n };\n InputDatetimeLocal.value = new InputDatetimeLocal();\n return InputDatetimeLocal;\n })();\n var InputEmail = (function () {\n function InputEmail() {\n\n };\n InputEmail.value = new InputEmail();\n return InputEmail;\n })();\n var InputFile = (function () {\n function InputFile() {\n\n };\n InputFile.value = new InputFile();\n return InputFile;\n })();\n var InputHidden = (function () {\n function InputHidden() {\n\n };\n InputHidden.value = new InputHidden();\n return InputHidden;\n })();\n var InputImage = (function () {\n function InputImage() {\n\n };\n InputImage.value = new InputImage();\n return InputImage;\n })();\n var InputMonth = (function () {\n function InputMonth() {\n\n };\n InputMonth.value = new InputMonth();\n return InputMonth;\n })();\n var InputNumber = (function () {\n function InputNumber() {\n\n };\n InputNumber.value = new InputNumber();\n return InputNumber;\n })();\n var InputPassword = (function () {\n function InputPassword() {\n\n };\n InputPassword.value = new InputPassword();\n return InputPassword;\n })();\n var InputRadio = (function () {\n function InputRadio() {\n\n };\n InputRadio.value = new InputRadio();\n return InputRadio;\n })();\n var InputRange = (function () {\n function InputRange() {\n\n };\n InputRange.value = new InputRange();\n return InputRange;\n })();\n var InputReset = (function () {\n function InputReset() {\n\n };\n InputReset.value = new InputReset();\n return InputReset;\n })();\n var InputSearch = (function () {\n function InputSearch() {\n\n };\n InputSearch.value = new InputSearch();\n return InputSearch;\n })();\n var InputSubmit = (function () {\n function InputSubmit() {\n\n };\n InputSubmit.value = new InputSubmit();\n return InputSubmit;\n })();\n var InputTel = (function () {\n function InputTel() {\n\n };\n InputTel.value = new InputTel();\n return InputTel;\n })();\n var InputText = (function () {\n function InputText() {\n\n };\n InputText.value = new InputText();\n return InputText;\n })();\n var InputTime = (function () {\n function InputTime() {\n\n };\n InputTime.value = new InputTime();\n return InputTime;\n })();\n var InputUrl = (function () {\n function InputUrl() {\n\n };\n InputUrl.value = new InputUrl();\n return InputUrl;\n })();\n var InputWeek = (function () {\n function InputWeek() {\n\n };\n InputWeek.value = new InputWeek();\n return InputWeek;\n })();\n var renderInputType = function (v) {\n if (v instanceof InputButton) {\n return \"button\";\n };\n if (v instanceof InputCheckbox) {\n return \"checkbox\";\n };\n if (v instanceof InputColor) {\n return \"color\";\n };\n if (v instanceof InputDate) {\n return \"date\";\n };\n if (v instanceof InputDatetimeLocal) {\n return \"datetime-local\";\n };\n if (v instanceof InputEmail) {\n return \"email\";\n };\n if (v instanceof InputFile) {\n return \"file\";\n };\n if (v instanceof InputHidden) {\n return \"hidden\";\n };\n if (v instanceof InputImage) {\n return \"image\";\n };\n if (v instanceof InputMonth) {\n return \"month\";\n };\n if (v instanceof InputNumber) {\n return \"number\";\n };\n if (v instanceof InputPassword) {\n return \"password\";\n };\n if (v instanceof InputRadio) {\n return \"radio\";\n };\n if (v instanceof InputRange) {\n return \"range\";\n };\n if (v instanceof InputReset) {\n return \"reset\";\n };\n if (v instanceof InputSearch) {\n return \"search\";\n };\n if (v instanceof InputSubmit) {\n return \"submit\";\n };\n if (v instanceof InputTel) {\n return \"tel\";\n };\n if (v instanceof InputText) {\n return \"text\";\n };\n if (v instanceof InputTime) {\n return \"time\";\n };\n if (v instanceof InputUrl) {\n return \"url\";\n };\n if (v instanceof InputWeek) {\n return \"week\";\n };\n throw new Error(\"Failed pattern match at DOM.HTML.Indexed.InputType (line 28, column 19 - line 50, column 16): \" + [ v.constructor.name ]);\n };\n exports[\"InputButton\"] = InputButton;\n exports[\"InputCheckbox\"] = InputCheckbox;\n exports[\"InputColor\"] = InputColor;\n exports[\"InputDate\"] = InputDate;\n exports[\"InputDatetimeLocal\"] = InputDatetimeLocal;\n exports[\"InputEmail\"] = InputEmail;\n exports[\"InputFile\"] = InputFile;\n exports[\"InputHidden\"] = InputHidden;\n exports[\"InputImage\"] = InputImage;\n exports[\"InputMonth\"] = InputMonth;\n exports[\"InputNumber\"] = InputNumber;\n exports[\"InputPassword\"] = InputPassword;\n exports[\"InputRadio\"] = InputRadio;\n exports[\"InputRange\"] = InputRange;\n exports[\"InputReset\"] = InputReset;\n exports[\"InputSearch\"] = InputSearch;\n exports[\"InputSubmit\"] = InputSubmit;\n exports[\"InputTel\"] = InputTel;\n exports[\"InputText\"] = InputText;\n exports[\"InputTime\"] = InputTime;\n exports[\"InputUrl\"] = InputUrl;\n exports[\"InputWeek\"] = InputWeek;\n exports[\"renderInputType\"] = renderInputType;\n})(PS[\"DOM.HTML.Indexed.InputType\"] = PS[\"DOM.HTML.Indexed.InputType\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Prelude = PS[\"Prelude\"]; \n var Profunctor = function (dimap) {\n this.dimap = dimap;\n };\n var profunctorFn = new Profunctor(function (a2b) {\n return function (c2d) {\n return function (b2c) {\n return function ($9) {\n return c2d(b2c(a2b($9)));\n };\n };\n };\n });\n var dimap = function (dict) {\n return dict.dimap;\n };\n var rmap = function (dictProfunctor) {\n return function (b2c) {\n return dimap(dictProfunctor)(Control_Category.identity(Control_Category.categoryFn))(b2c);\n };\n };\n exports[\"dimap\"] = dimap;\n exports[\"Profunctor\"] = Profunctor;\n exports[\"rmap\"] = rmap;\n exports[\"profunctorFn\"] = profunctorFn;\n})(PS[\"Data.Profunctor\"] = PS[\"Data.Profunctor\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Profunctor = PS[\"Data.Profunctor\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"]; \n var Strong = function (Profunctor0, first, second) {\n this.Profunctor0 = Profunctor0;\n this.first = first;\n this.second = second;\n };\n var strongFn = new Strong(function () {\n return Data_Profunctor.profunctorFn;\n }, function (a2b) {\n return function (v) {\n return new Data_Tuple.Tuple(a2b(v.value0), v.value1);\n };\n }, Data_Functor.map(Data_Tuple.functorTuple));\n var second = function (dict) {\n return dict.second;\n };\n var first = function (dict) {\n return dict.first;\n };\n exports[\"first\"] = first;\n exports[\"second\"] = second;\n exports[\"Strong\"] = Strong;\n exports[\"strongFn\"] = strongFn;\n})(PS[\"Data.Profunctor.Strong\"] = PS[\"Data.Profunctor.Strong\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Const = PS[\"Data.Const\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Lens_Internal_Wander = PS[\"Data.Lens.Internal.Wander\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Profunctor = PS[\"Data.Profunctor\"];\n var Data_Profunctor_Choice = PS[\"Data.Profunctor.Choice\"];\n var Data_Profunctor_Cochoice = PS[\"Data.Profunctor.Cochoice\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"]; \n var Forget = function (x) {\n return x;\n };\n var profunctorForget = new Data_Profunctor.Profunctor(function (f) {\n return function (v) {\n return function (v1) {\n return function ($27) {\n return v1(f($27));\n };\n };\n };\n });\n var strongForget = new Data_Profunctor_Strong.Strong(function () {\n return profunctorForget;\n }, function (v) {\n return function ($28) {\n return v(Data_Tuple.fst($28));\n };\n }, function (v) {\n return function ($29) {\n return v(Data_Tuple.snd($29));\n };\n });\n var newtypeForget = new Data_Newtype.Newtype(function (n) {\n return n;\n }, Forget);\n exports[\"Forget\"] = Forget;\n exports[\"newtypeForget\"] = newtypeForget;\n exports[\"profunctorForget\"] = profunctorForget;\n exports[\"strongForget\"] = strongForget;\n})(PS[\"Data.Lens.Internal.Forget\"] = PS[\"Data.Lens.Internal.Forget\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Lens_Internal_Forget = PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Internal_Indexed = PS[\"Data.Lens.Internal.Indexed\"];\n var Data_Lens_Types = PS[\"Data.Lens.Types\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"]; \n var view = function (l) {\n return Data_Newtype.unwrap(Data_Lens_Internal_Forget.newtypeForget)(l(Control_Category.identity(Control_Category.categoryFn)));\n };\n var viewOn = function (s) {\n return function (l) {\n return view(l)(s);\n };\n };\n var use = function (dictMonadState) {\n return function (p) {\n return Control_Monad_State_Class.gets(dictMonadState)(function (v) {\n return viewOn(v)(p);\n });\n };\n };\n exports[\"viewOn\"] = viewOn;\n exports[\"view\"] = view;\n exports[\"use\"] = use;\n})(PS[\"Data.Lens.Getter\"] = PS[\"Data.Lens.Getter\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Data_Lens_Internal_Indexed = PS[\"Data.Lens.Internal.Indexed\"];\n var Data_Lens_Internal_Shop = PS[\"Data.Lens.Internal.Shop\"];\n var Data_Lens_Types = PS[\"Data.Lens.Types\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Profunctor = PS[\"Data.Profunctor\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"];\n var lens$prime = function (to) {\n return function (dictStrong) {\n return function (pab) {\n return Data_Profunctor.dimap(dictStrong.Profunctor0())(to)(function (v) {\n return v.value1(v.value0);\n })(Data_Profunctor_Strong.first(dictStrong)(pab));\n };\n };\n };\n var lens = function (get) {\n return function (set) {\n return function (dictStrong) {\n return lens$prime(function (s) {\n return new Data_Tuple.Tuple(get(s), function (b) {\n return set(s)(b);\n });\n })(dictStrong);\n };\n };\n };\n exports[\"lens\"] = lens;\n})(PS[\"Data.Lens.Lens\"] = PS[\"Data.Lens.Lens\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_EuclideanRing = PS[\"Data.EuclideanRing\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Lens_Internal_Indexed = PS[\"Data.Lens.Internal.Indexed\"];\n var Data_Lens_Types = PS[\"Data.Lens.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"]; \n var over = function (l) {\n return l;\n };\n var set = function (l) {\n return function (b) {\n return over(l)(Data_Function[\"const\"](b));\n };\n };\n var modifying = function (dictMonadState) {\n return function (p) {\n return function (f) {\n return Data_Functor[\"void\"]((((dictMonadState.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_State_Class.modify(dictMonadState)(over(p)(f)));\n };\n };\n };\n var assign = function (dictMonadState) {\n return function (p) {\n return function (b) {\n return Data_Functor[\"void\"]((((dictMonadState.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_State_Class.modify(dictMonadState)(set(p)(b)));\n };\n };\n };\n exports[\"over\"] = over;\n exports[\"set\"] = set;\n exports[\"assign\"] = assign;\n exports[\"modifying\"] = modifying;\n})(PS[\"Data.Lens.Setter\"] = PS[\"Data.Lens.Setter\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad_Cont_Trans = PS[\"Control.Monad.Cont.Trans\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Monad_List_Trans = PS[\"Control.Monad.List.Trans\"];\n var Control_Monad_Maybe_Trans = PS[\"Control.Monad.Maybe.Trans\"];\n var Control_Monad_RWS_Trans = PS[\"Control.Monad.RWS.Trans\"];\n var Control_Monad_Reader_Trans = PS[\"Control.Monad.Reader.Trans\"];\n var Control_Monad_State_Trans = PS[\"Control.Monad.State.Trans\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Monad_Writer_Trans = PS[\"Control.Monad.Writer.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Prelude = PS[\"Prelude\"]; \n var MonadAff = function (MonadEffect0, liftAff) {\n this.MonadEffect0 = MonadEffect0;\n this.liftAff = liftAff;\n };\n var monadAffAff = new MonadAff(function () {\n return Effect_Aff.monadEffectAff;\n }, Control_Category.identity(Control_Category.categoryFn));\n var liftAff = function (dict) {\n return dict.liftAff;\n };\n exports[\"liftAff\"] = liftAff;\n exports[\"MonadAff\"] = MonadAff;\n exports[\"monadAffAff\"] = monadAffAff;\n})(PS[\"Effect.Aff.Class\"] = PS[\"Effect.Aff.Class\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"]; \n var runExists = Unsafe_Coerce.unsafeCoerce;\n var mkExists = Unsafe_Coerce.unsafeCoerce;\n exports[\"mkExists\"] = mkExists;\n exports[\"runExists\"] = runExists;\n})(PS[\"Data.Exists\"] = PS[\"Data.Exists\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Comonad = PS[\"Control.Comonad\"];\n var Control_Extend = PS[\"Control.Extend\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Distributive = PS[\"Data.Distributive\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Exists = PS[\"Data.Exists\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Functor_Invariant = PS[\"Data.Functor.Invariant\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup_Foldable = PS[\"Data.Semigroup.Foldable\"];\n var Data_Semigroup_Traversable = PS[\"Data.Semigroup.Traversable\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Prelude = PS[\"Prelude\"]; \n var CoyonedaF = (function () {\n function CoyonedaF(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n CoyonedaF.create = function (value0) {\n return function (value1) {\n return new CoyonedaF(value0, value1);\n };\n };\n return CoyonedaF;\n })();\n var Coyoneda = function (x) {\n return x;\n };\n var unCoyoneda = function (f) {\n return function (v) {\n return Data_Exists.runExists(function (v1) {\n return f(v1.value0)(v1.value1);\n })(v);\n };\n };\n var coyoneda = function (k) {\n return function (fi) {\n return Coyoneda(Data_Exists.mkExists(new CoyonedaF(k, fi)));\n };\n };\n var functorCoyoneda = new Data_Functor.Functor(function (f) {\n return function (v) {\n return Data_Exists.runExists(function (v1) {\n return coyoneda(function ($84) {\n return f(v1.value0($84));\n })(v1.value1);\n })(v);\n };\n });\n var liftCoyoneda = coyoneda(Control_Category.identity(Control_Category.categoryFn));\n exports[\"Coyoneda\"] = Coyoneda;\n exports[\"coyoneda\"] = coyoneda;\n exports[\"unCoyoneda\"] = unCoyoneda;\n exports[\"liftCoyoneda\"] = liftCoyoneda;\n exports[\"functorCoyoneda\"] = functorCoyoneda;\n})(PS[\"Data.Coyoneda\"] = PS[\"Data.Coyoneda\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_FunctorWithIndex = PS[\"Data.FunctorWithIndex\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Lazy = PS[\"Data.List.Lazy\"];\n var Data_List_Lazy_Types = PS[\"Data.List.Lazy.Types\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_TraversableWithIndex = PS[\"Data.TraversableWithIndex\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"]; \n var Leaf = (function () {\n function Leaf() {\n\n };\n Leaf.value = new Leaf();\n return Leaf;\n })();\n var Two = (function () {\n function Two(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Two.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Two(value0, value1, value2, value3);\n };\n };\n };\n };\n return Two;\n })();\n var Three = (function () {\n function Three(value0, value1, value2, value3, value4, value5, value6) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n this.value6 = value6;\n };\n Three.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return function (value6) {\n return new Three(value0, value1, value2, value3, value4, value5, value6);\n };\n };\n };\n };\n };\n };\n };\n return Three;\n })();\n var TwoLeft = (function () {\n function TwoLeft(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n TwoLeft.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new TwoLeft(value0, value1, value2);\n };\n };\n };\n return TwoLeft;\n })();\n var TwoRight = (function () {\n function TwoRight(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n TwoRight.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new TwoRight(value0, value1, value2);\n };\n };\n };\n return TwoRight;\n })();\n var ThreeLeft = (function () {\n function ThreeLeft(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ThreeLeft.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ThreeLeft(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ThreeLeft;\n })();\n var ThreeMiddle = (function () {\n function ThreeMiddle(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ThreeMiddle.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ThreeMiddle(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ThreeMiddle;\n })();\n var ThreeRight = (function () {\n function ThreeRight(value0, value1, value2, value3, value4, value5) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n this.value4 = value4;\n this.value5 = value5;\n };\n ThreeRight.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return function (value4) {\n return function (value5) {\n return new ThreeRight(value0, value1, value2, value3, value4, value5);\n };\n };\n };\n };\n };\n };\n return ThreeRight;\n })();\n var KickUp = (function () {\n function KickUp(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n KickUp.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new KickUp(value0, value1, value2, value3);\n };\n };\n };\n };\n return KickUp;\n })();\n var values = function (v) {\n if (v instanceof Leaf) {\n return Data_List_Types.Nil.value;\n };\n if (v instanceof Two) {\n return Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value2))(values(v.value3)));\n };\n if (v instanceof Three) {\n return Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value0))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value2))(Data_Semigroup.append(Data_List_Types.semigroupList)(values(v.value3))(Data_Semigroup.append(Data_List_Types.semigroupList)(Control_Applicative.pure(Data_List_Types.applicativeList)(v.value5))(values(v.value6)))));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 612, column 1 - line 612, column 40): \" + [ v.constructor.name ]);\n };\n var lookup = function (dictOrd) {\n return function (k) {\n var comp = Data_Ord.compare(dictOrd);\n var go = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v instanceof Leaf) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n if (v instanceof Two) {\n var v2 = comp(k)(v.value1);\n if (v2 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value2);\n };\n if (v2 instanceof Data_Ordering.LT) {\n $copy_v = v.value0;\n return;\n };\n $copy_v = v.value3;\n return;\n };\n if (v instanceof Three) {\n var v3 = comp(k)(v.value1);\n if (v3 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value2);\n };\n var v4 = comp(k)(v.value4);\n if (v4 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(v.value5);\n };\n if (v3 instanceof Data_Ordering.LT) {\n $copy_v = v.value0;\n return;\n };\n if (v4 instanceof Data_Ordering.GT) {\n $copy_v = v.value6;\n return;\n };\n $copy_v = v.value3;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 200, column 5 - line 200, column 22): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n return go;\n };\n };\n var member = function (dictOrd) {\n return function (k) {\n return function (m) {\n return Data_Maybe.isJust(lookup(dictOrd)(k)(m));\n };\n };\n };\n var functorMap = new Data_Functor.Functor(function (v) {\n return function (v1) {\n if (v1 instanceof Leaf) {\n return Leaf.value;\n };\n if (v1 instanceof Two) {\n return new Two(Data_Functor.map(functorMap)(v)(v1.value0), v1.value1, v(v1.value2), Data_Functor.map(functorMap)(v)(v1.value3));\n };\n if (v1 instanceof Three) {\n return new Three(Data_Functor.map(functorMap)(v)(v1.value0), v1.value1, v(v1.value2), Data_Functor.map(functorMap)(v)(v1.value3), v1.value4, v(v1.value5), Data_Functor.map(functorMap)(v)(v1.value6));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 96, column 1 - line 96, column 39): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n });\n var fromZipper = function ($copy_dictOrd) {\n return function ($copy_v) {\n return function ($copy_tree) {\n var $tco_var_dictOrd = $copy_dictOrd;\n var $tco_var_v = $copy_v;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(dictOrd, v, tree) {\n if (v instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return tree;\n };\n if (v instanceof Data_List_Types.Cons) {\n if (v.value0 instanceof TwoLeft) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Two(tree, v.value0.value0, v.value0.value1, v.value0.value2);\n return;\n };\n if (v.value0 instanceof TwoRight) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Two(v.value0.value0, v.value0.value1, v.value0.value2, tree);\n return;\n };\n if (v.value0 instanceof ThreeLeft) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Three(tree, v.value0.value0, v.value0.value1, v.value0.value2, v.value0.value3, v.value0.value4, v.value0.value5);\n return;\n };\n if (v.value0 instanceof ThreeMiddle) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Three(v.value0.value0, v.value0.value1, v.value0.value2, tree, v.value0.value3, v.value0.value4, v.value0.value5);\n return;\n };\n if (v.value0 instanceof ThreeRight) {\n $tco_var_dictOrd = dictOrd;\n $tco_var_v = v.value1;\n $copy_tree = new Three(v.value0.value0, v.value0.value1, v.value0.value2, v.value0.value3, v.value0.value4, v.value0.value5, tree);\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 418, column 3 - line 423, column 88): \" + [ v.value0.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 415, column 1 - line 415, column 80): \" + [ v.constructor.name, tree.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_dictOrd, $tco_var_v, $copy_tree);\n };\n return $tco_result;\n };\n };\n };\n var insert = function (dictOrd) {\n return function (k) {\n return function (v) {\n var up = function ($copy_v1) {\n return function ($copy_v2) {\n var $tco_var_v1 = $copy_v1;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v1, v2) {\n if (v1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Two(v2.value0, v2.value1, v2.value2, v2.value3);\n };\n if (v1 instanceof Data_List_Types.Cons) {\n if (v1.value0 instanceof TwoLeft) {\n $tco_done = true;\n return fromZipper(dictOrd)(v1.value1)(new Three(v2.value0, v2.value1, v2.value2, v2.value3, v1.value0.value0, v1.value0.value1, v1.value0.value2));\n };\n if (v1.value0 instanceof TwoRight) {\n $tco_done = true;\n return fromZipper(dictOrd)(v1.value1)(new Three(v1.value0.value0, v1.value0.value1, v1.value0.value2, v2.value0, v2.value1, v2.value2, v2.value3));\n };\n if (v1.value0 instanceof ThreeLeft) {\n $tco_var_v1 = v1.value1;\n $copy_v2 = new KickUp(new Two(v2.value0, v2.value1, v2.value2, v2.value3), v1.value0.value0, v1.value0.value1, new Two(v1.value0.value2, v1.value0.value3, v1.value0.value4, v1.value0.value5));\n return;\n };\n if (v1.value0 instanceof ThreeMiddle) {\n $tco_var_v1 = v1.value1;\n $copy_v2 = new KickUp(new Two(v1.value0.value0, v1.value0.value1, v1.value0.value2, v2.value0), v2.value1, v2.value2, new Two(v2.value3, v1.value0.value3, v1.value0.value4, v1.value0.value5));\n return;\n };\n if (v1.value0 instanceof ThreeRight) {\n $tco_var_v1 = v1.value1;\n $copy_v2 = new KickUp(new Two(v1.value0.value0, v1.value0.value1, v1.value0.value2, v1.value0.value3), v1.value0.value4, v1.value0.value5, new Two(v2.value0, v2.value1, v2.value2, v2.value3));\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 454, column 5 - line 459, column 108): \" + [ v1.value0.constructor.name, v2.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 451, column 3 - line 451, column 56): \" + [ v1.constructor.name, v2.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_v1, $copy_v2);\n };\n return $tco_result;\n };\n };\n var comp = Data_Ord.compare(dictOrd);\n var down = function ($copy_ctx) {\n return function ($copy_v1) {\n var $tco_var_ctx = $copy_ctx;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctx, v1) {\n if (v1 instanceof Leaf) {\n $tco_done = true;\n return up(ctx)(new KickUp(Leaf.value, k, v, Leaf.value));\n };\n if (v1 instanceof Two) {\n var v2 = comp(k)(v1.value1);\n if (v2 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctx)(new Two(v1.value0, k, v, v1.value3));\n };\n if (v2 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new TwoLeft(v1.value1, v1.value2, v1.value3), ctx);\n $copy_v1 = v1.value0;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(v1.value0, v1.value1, v1.value2), ctx);\n $copy_v1 = v1.value3;\n return;\n };\n if (v1 instanceof Three) {\n var v3 = comp(k)(v1.value1);\n if (v3 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctx)(new Three(v1.value0, k, v, v1.value3, v1.value4, v1.value5, v1.value6));\n };\n var v4 = comp(k)(v1.value4);\n if (v4 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctx)(new Three(v1.value0, v1.value1, v1.value2, v1.value3, k, v, v1.value6));\n };\n if (v3 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeLeft(v1.value1, v1.value2, v1.value3, v1.value4, v1.value5, v1.value6), ctx);\n $copy_v1 = v1.value0;\n return;\n };\n if (v3 instanceof Data_Ordering.GT && v4 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeMiddle(v1.value0, v1.value1, v1.value2, v1.value4, v1.value5, v1.value6), ctx);\n $copy_v1 = v1.value3;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(v1.value0, v1.value1, v1.value2, v1.value3, v1.value4, v1.value5), ctx);\n $copy_v1 = v1.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 434, column 3 - line 434, column 55): \" + [ ctx.constructor.name, v1.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctx, $copy_v1);\n };\n return $tco_result;\n };\n };\n return down(Data_List_Types.Nil.value);\n };\n };\n };\n var pop = function (dictOrd) {\n return function (k) {\n var up = function ($copy_ctxs) {\n return function ($copy_tree) {\n var $tco_var_ctxs = $copy_ctxs;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctxs, tree) {\n if (ctxs instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return tree;\n };\n if (ctxs instanceof Data_List_Types.Cons) {\n if (ctxs.value0 instanceof TwoLeft && (ctxs.value0.value2 instanceof Leaf && tree instanceof Leaf)) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(Leaf.value, ctxs.value0.value0, ctxs.value0.value1, Leaf.value));\n };\n if (ctxs.value0 instanceof TwoRight && (ctxs.value0.value0 instanceof Leaf && tree instanceof Leaf)) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value));\n };\n if (ctxs.value0 instanceof TwoLeft && ctxs.value0.value2 instanceof Two) {\n $tco_var_ctxs = ctxs.value1;\n $copy_tree = new Three(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0, ctxs.value0.value2.value1, ctxs.value0.value2.value2, ctxs.value0.value2.value3);\n return;\n };\n if (ctxs.value0 instanceof TwoRight && ctxs.value0.value0 instanceof Two) {\n $tco_var_ctxs = ctxs.value1;\n $copy_tree = new Three(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3, ctxs.value0.value1, ctxs.value0.value2, tree);\n return;\n };\n if (ctxs.value0 instanceof TwoLeft && ctxs.value0.value2 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(new Two(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0), ctxs.value0.value2.value1, ctxs.value0.value2.value2, new Two(ctxs.value0.value2.value3, ctxs.value0.value2.value4, ctxs.value0.value2.value5, ctxs.value0.value2.value6)));\n };\n if (ctxs.value0 instanceof TwoRight && ctxs.value0.value0 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(new Two(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3), ctxs.value0.value0.value4, ctxs.value0.value0.value5, new Two(ctxs.value0.value0.value6, ctxs.value0.value1, ctxs.value0.value2, tree)));\n };\n if (ctxs.value0 instanceof ThreeLeft && (ctxs.value0.value2 instanceof Leaf && (ctxs.value0.value5 instanceof Leaf && tree instanceof Leaf))) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value0, ctxs.value0.value1, Leaf.value, ctxs.value0.value3, ctxs.value0.value4, Leaf.value));\n };\n if (ctxs.value0 instanceof ThreeMiddle && (ctxs.value0.value0 instanceof Leaf && (ctxs.value0.value5 instanceof Leaf && tree instanceof Leaf))) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value, ctxs.value0.value3, ctxs.value0.value4, Leaf.value));\n };\n if (ctxs.value0 instanceof ThreeRight && (ctxs.value0.value0 instanceof Leaf && (ctxs.value0.value3 instanceof Leaf && tree instanceof Leaf))) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(Leaf.value, ctxs.value0.value1, ctxs.value0.value2, Leaf.value, ctxs.value0.value4, ctxs.value0.value5, Leaf.value));\n };\n if (ctxs.value0 instanceof ThreeLeft && ctxs.value0.value2 instanceof Two) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(new Three(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0, ctxs.value0.value2.value1, ctxs.value0.value2.value2, ctxs.value0.value2.value3), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value0 instanceof Two) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(new Three(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3, ctxs.value0.value1, ctxs.value0.value2, tree), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value5 instanceof Two) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Three(tree, ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5.value0, ctxs.value0.value5.value1, ctxs.value0.value5.value2, ctxs.value0.value5.value3)));\n };\n if (ctxs.value0 instanceof ThreeRight && ctxs.value0.value3 instanceof Two) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Two(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Three(ctxs.value0.value3.value0, ctxs.value0.value3.value1, ctxs.value0.value3.value2, ctxs.value0.value3.value3, ctxs.value0.value4, ctxs.value0.value5, tree)));\n };\n if (ctxs.value0 instanceof ThreeLeft && ctxs.value0.value2 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(new Two(tree, ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2.value0), ctxs.value0.value2.value1, ctxs.value0.value2.value2, new Two(ctxs.value0.value2.value3, ctxs.value0.value2.value4, ctxs.value0.value2.value5, ctxs.value0.value2.value6), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value0 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(new Two(ctxs.value0.value0.value0, ctxs.value0.value0.value1, ctxs.value0.value0.value2, ctxs.value0.value0.value3), ctxs.value0.value0.value4, ctxs.value0.value0.value5, new Two(ctxs.value0.value0.value6, ctxs.value0.value1, ctxs.value0.value2, tree), ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5));\n };\n if (ctxs.value0 instanceof ThreeMiddle && ctxs.value0.value5 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Two(tree, ctxs.value0.value3, ctxs.value0.value4, ctxs.value0.value5.value0), ctxs.value0.value5.value1, ctxs.value0.value5.value2, new Two(ctxs.value0.value5.value3, ctxs.value0.value5.value4, ctxs.value0.value5.value5, ctxs.value0.value5.value6)));\n };\n if (ctxs.value0 instanceof ThreeRight && ctxs.value0.value3 instanceof Three) {\n $tco_done = true;\n return fromZipper(dictOrd)(ctxs.value1)(new Three(ctxs.value0.value0, ctxs.value0.value1, ctxs.value0.value2, new Two(ctxs.value0.value3.value0, ctxs.value0.value3.value1, ctxs.value0.value3.value2, ctxs.value0.value3.value3), ctxs.value0.value3.value4, ctxs.value0.value3.value5, new Two(ctxs.value0.value3.value6, ctxs.value0.value4, ctxs.value0.value5, tree)));\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 511, column 9 - line 528, column 136): \" + [ ctxs.value0.constructor.name, tree.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 508, column 5 - line 528, column 136): \" + [ ctxs.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctxs, $copy_tree);\n };\n return $tco_result;\n };\n };\n var removeMaxNode = function ($copy_ctx) {\n return function ($copy_m) {\n var $tco_var_ctx = $copy_ctx;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctx, m) {\n if (m instanceof Two && (m.value0 instanceof Leaf && m.value3 instanceof Leaf)) {\n $tco_done = true;\n return up(ctx)(Leaf.value);\n };\n if (m instanceof Two) {\n $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(m.value0, m.value1, m.value2), ctx);\n $copy_m = m.value3;\n return;\n };\n if (m instanceof Three && (m.value0 instanceof Leaf && (m.value3 instanceof Leaf && m.value6 instanceof Leaf))) {\n $tco_done = true;\n return up(new Data_List_Types.Cons(new TwoRight(Leaf.value, m.value1, m.value2), ctx))(Leaf.value);\n };\n if (m instanceof Three) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(m.value0, m.value1, m.value2, m.value3, m.value4, m.value5), ctx);\n $copy_m = m.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 540, column 5 - line 544, column 107): \" + [ m.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctx, $copy_m);\n };\n return $tco_result;\n };\n };\n var maxNode = function ($copy_m) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(m) {\n if (m instanceof Two && m.value3 instanceof Leaf) {\n $tco_done = true;\n return {\n key: m.value1,\n value: m.value2\n };\n };\n if (m instanceof Two) {\n $copy_m = m.value3;\n return;\n };\n if (m instanceof Three && m.value6 instanceof Leaf) {\n $tco_done = true;\n return {\n key: m.value4,\n value: m.value5\n };\n };\n if (m instanceof Three) {\n $copy_m = m.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 531, column 33 - line 535, column 45): \" + [ m.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_m);\n };\n return $tco_result;\n };\n var comp = Data_Ord.compare(dictOrd);\n var down = function ($copy_ctx) {\n return function ($copy_m) {\n var $tco_var_ctx = $copy_ctx;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(ctx, m) {\n if (m instanceof Leaf) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n if (m instanceof Two) {\n var v = comp(k)(m.value1);\n if (m.value3 instanceof Leaf && v instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, up(ctx)(Leaf.value)));\n };\n if (v instanceof Data_Ordering.EQ) {\n var max = maxNode(m.value0);\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, removeMaxNode(new Data_List_Types.Cons(new TwoLeft(max.key, max.value, m.value3), ctx))(m.value0)));\n };\n if (v instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new TwoLeft(m.value1, m.value2, m.value3), ctx);\n $copy_m = m.value0;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new TwoRight(m.value0, m.value1, m.value2), ctx);\n $copy_m = m.value3;\n return;\n };\n if (m instanceof Three) {\n var leaves = (function () {\n if (m.value0 instanceof Leaf && (m.value3 instanceof Leaf && m.value6 instanceof Leaf)) {\n return true;\n };\n return false;\n })();\n var v = comp(k)(m.value4);\n var v3 = comp(k)(m.value1);\n if (leaves && v3 instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, fromZipper(dictOrd)(ctx)(new Two(Leaf.value, m.value4, m.value5, Leaf.value))));\n };\n if (leaves && v instanceof Data_Ordering.EQ) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value5, fromZipper(dictOrd)(ctx)(new Two(Leaf.value, m.value1, m.value2, Leaf.value))));\n };\n if (v3 instanceof Data_Ordering.EQ) {\n var max = maxNode(m.value0);\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value2, removeMaxNode(new Data_List_Types.Cons(new ThreeLeft(max.key, max.value, m.value3, m.value4, m.value5, m.value6), ctx))(m.value0)));\n };\n if (v instanceof Data_Ordering.EQ) {\n var max = maxNode(m.value3);\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(m.value5, removeMaxNode(new Data_List_Types.Cons(new ThreeMiddle(m.value0, m.value1, m.value2, max.key, max.value, m.value6), ctx))(m.value3)));\n };\n if (v3 instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeLeft(m.value1, m.value2, m.value3, m.value4, m.value5, m.value6), ctx);\n $copy_m = m.value0;\n return;\n };\n if (v3 instanceof Data_Ordering.GT && v instanceof Data_Ordering.LT) {\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeMiddle(m.value0, m.value1, m.value2, m.value4, m.value5, m.value6), ctx);\n $copy_m = m.value3;\n return;\n };\n $tco_var_ctx = new Data_List_Types.Cons(new ThreeRight(m.value0, m.value1, m.value2, m.value3, m.value4, m.value5), ctx);\n $copy_m = m.value6;\n return;\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 481, column 34 - line 504, column 80): \" + [ m.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_ctx, $copy_m);\n };\n return $tco_result;\n };\n };\n return down(Data_List_Types.Nil.value);\n };\n };\n var foldableMap = new Data_Foldable.Foldable(function (dictMonoid) {\n return function (f) {\n return function (m) {\n return Data_Foldable.foldMap(Data_List_Types.foldableList)(dictMonoid)(f)(values(m));\n };\n };\n }, function (f) {\n return function (z) {\n return function (m) {\n return Data_Foldable.foldl(Data_List_Types.foldableList)(f)(z)(values(m));\n };\n };\n }, function (f) {\n return function (z) {\n return function (m) {\n return Data_Foldable.foldr(Data_List_Types.foldableList)(f)(z)(values(m));\n };\n };\n });\n var empty = Leaf.value;\n var $$delete = function (dictOrd) {\n return function (k) {\n return function (m) {\n return Data_Maybe.maybe(m)(Data_Tuple.snd)(pop(dictOrd)(k)(m));\n };\n };\n }; \n var alter = function (dictOrd) {\n return function (f) {\n return function (k) {\n return function (m) {\n var v = f(lookup(dictOrd)(k)(m));\n if (v instanceof Data_Maybe.Nothing) {\n return $$delete(dictOrd)(k)(m);\n };\n if (v instanceof Data_Maybe.Just) {\n return insert(dictOrd)(k)(v.value0)(m);\n };\n throw new Error(\"Failed pattern match at Data.Map.Internal (line 549, column 15 - line 551, column 25): \" + [ v.constructor.name ]);\n };\n };\n };\n };\n exports[\"empty\"] = empty;\n exports[\"insert\"] = insert;\n exports[\"lookup\"] = lookup;\n exports[\"delete\"] = $$delete;\n exports[\"pop\"] = pop;\n exports[\"member\"] = member;\n exports[\"alter\"] = alter;\n exports[\"values\"] = values;\n exports[\"functorMap\"] = functorMap;\n exports[\"foldableMap\"] = foldableMap;\n})(PS[\"Data.Map.Internal\"] = PS[\"Data.Map.Internal\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Prelude = PS[\"Prelude\"]; \n var OrdBox = (function () {\n function OrdBox(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n OrdBox.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new OrdBox(value0, value1, value2);\n };\n };\n };\n return OrdBox;\n })();\n var mkOrdBox = function (dictOrd) {\n return OrdBox.create(Data_Eq.eq(dictOrd.Eq0()))(Data_Ord.compare(dictOrd));\n };\n var eqOrdBox = new Data_Eq.Eq(function (v) {\n return function (v1) {\n return v.value0(v.value2)(v1.value2);\n };\n });\n var ordOrdBox = new Data_Ord.Ord(function () {\n return eqOrdBox;\n }, function (v) {\n return function (v1) {\n return v.value1(v.value2)(v1.value2);\n };\n });\n exports[\"mkOrdBox\"] = mkOrdBox;\n exports[\"eqOrdBox\"] = eqOrdBox;\n exports[\"ordOrdBox\"] = ordOrdBox;\n})(PS[\"Halogen.Data.OrdBox\"] = PS[\"Halogen.Data.OrdBox\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Map = PS[\"Data.Map\"];\n var Data_Map_Internal = PS[\"Data.Map.Internal\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Halogen_Data_OrdBox = PS[\"Halogen.Data.OrdBox\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var pop = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (sym) {\n return function (key) {\n return function (v) {\n return Data_Map_Internal.pop(Data_Tuple.ordTuple(Data_Ord.ordString)(Halogen_Data_OrdBox.ordOrdBox))(new Data_Tuple.Tuple(Data_Symbol.reflectSymbol(dictIsSymbol)(sym), Halogen_Data_OrdBox.mkOrdBox(dictOrd)(key)))(v);\n };\n };\n };\n };\n };\n };\n var lookup = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (sym) {\n return function (key) {\n return function (v) {\n return Data_Map_Internal.lookup(Data_Tuple.ordTuple(Data_Ord.ordString)(Halogen_Data_OrdBox.ordOrdBox))(new Data_Tuple.Tuple(Data_Symbol.reflectSymbol(dictIsSymbol)(sym), Halogen_Data_OrdBox.mkOrdBox(dictOrd)(key)))(v);\n };\n };\n };\n };\n };\n };\n var insert = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (sym) {\n return function (key) {\n return function (val) {\n return function (v) {\n return Data_Map_Internal.insert(Data_Tuple.ordTuple(Data_Ord.ordString)(Halogen_Data_OrdBox.ordOrdBox))(new Data_Tuple.Tuple(Data_Symbol.reflectSymbol(dictIsSymbol)(sym), Halogen_Data_OrdBox.mkOrdBox(dictOrd)(key)))(val)(v);\n };\n };\n };\n };\n };\n };\n };\n var foreachSlot = function (dictApplicative) {\n return function (v) {\n return function (k) {\n return Data_Foldable.traverse_(dictApplicative)(Data_Map_Internal.foldableMap)(function ($37) {\n return k($37);\n })(v);\n };\n };\n };\n var empty = Data_Map_Internal.empty;\n exports[\"empty\"] = empty;\n exports[\"lookup\"] = lookup;\n exports[\"insert\"] = insert;\n exports[\"pop\"] = pop;\n exports[\"foreachSlot\"] = foreachSlot;\n})(PS[\"Halogen.Data.Slot\"] = PS[\"Halogen.Data.Slot\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Const = PS[\"Data.Const\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_NonEmpty = PS[\"Data.List.NonEmpty\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_NonEmpty = PS[\"Data.NonEmpty\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"]; \n var Pure = (function () {\n function Pure(value0) {\n this.value0 = value0;\n };\n Pure.create = function (value0) {\n return new Pure(value0);\n };\n return Pure;\n })();\n var Lift = (function () {\n function Lift(value0) {\n this.value0 = value0;\n };\n Lift.create = function (value0) {\n return new Lift(value0);\n };\n return Lift;\n })();\n var Ap = (function () {\n function Ap(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Ap.create = function (value0) {\n return function (value1) {\n return new Ap(value0, value1);\n };\n };\n return Ap;\n })();\n var mkAp = function (fba) {\n return function (fb) {\n return new Ap(fba, fb);\n };\n };\n var liftFreeAp = Lift.create;\n var goLeft = function ($copy_dictApplicative) {\n return function ($copy_fStack) {\n return function ($copy_valStack) {\n return function ($copy_nat) {\n return function ($copy_func) {\n return function ($copy_count) {\n var $tco_var_dictApplicative = $copy_dictApplicative;\n var $tco_var_fStack = $copy_fStack;\n var $tco_var_valStack = $copy_valStack;\n var $tco_var_nat = $copy_nat;\n var $tco_var_func = $copy_func;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(dictApplicative, fStack, valStack, nat, func, count) {\n if (func instanceof Pure) {\n $tco_done = true;\n return new Data_Tuple.Tuple(new Data_List_Types.Cons({\n func: Control_Applicative.pure(dictApplicative)(func.value0),\n count: count\n }, fStack), valStack);\n };\n if (func instanceof Lift) {\n $tco_done = true;\n return new Data_Tuple.Tuple(new Data_List_Types.Cons({\n func: nat(func.value0),\n count: count\n }, fStack), valStack);\n };\n if (func instanceof Ap) {\n $tco_var_dictApplicative = dictApplicative;\n $tco_var_fStack = fStack;\n $tco_var_valStack = Data_List_NonEmpty.cons(func.value1)(valStack);\n $tco_var_nat = nat;\n $tco_var_func = func.value0;\n $copy_count = count + 1 | 0;\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 102, column 41 - line 105, column 81): \" + [ func.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_dictApplicative, $tco_var_fStack, $tco_var_valStack, $tco_var_nat, $tco_var_func, $copy_count);\n };\n return $tco_result;\n };\n };\n };\n };\n };\n };\n var goApply = function ($copy_dictApplicative) {\n return function ($copy_fStack) {\n return function ($copy_vals) {\n return function ($copy_gVal) {\n var $tco_var_dictApplicative = $copy_dictApplicative;\n var $tco_var_fStack = $copy_fStack;\n var $tco_var_vals = $copy_vals;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(dictApplicative, fStack, vals, gVal) {\n if (fStack instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Data_Either.Left(gVal);\n };\n if (fStack instanceof Data_List_Types.Cons) {\n var gRes = Control_Apply.apply(dictApplicative.Apply0())(fStack.value0.func)(gVal);\n var $14 = fStack.value0.count === 1;\n if ($14) {\n if (fStack.value1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Data_Either.Left(gRes);\n };\n $tco_var_dictApplicative = dictApplicative;\n $tco_var_fStack = fStack.value1;\n $tco_var_vals = vals;\n $copy_gVal = gRes;\n return;\n };\n if (vals instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return new Data_Either.Left(gRes);\n };\n if (vals instanceof Data_List_Types.Cons) {\n $tco_done = true;\n return Data_Either.Right.create(new Data_Tuple.Tuple(new Data_List_Types.Cons({\n func: gRes,\n count: fStack.value0.count - 1 | 0\n }, fStack.value1), new Data_NonEmpty.NonEmpty(vals.value0, vals.value1)));\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 83, column 11 - line 88, column 50): \" + [ vals.constructor.name ]);\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 72, column 3 - line 88, column 50): \" + [ fStack.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_dictApplicative, $tco_var_fStack, $tco_var_vals, $copy_gVal);\n };\n return $tco_result;\n };\n };\n };\n };\n var functorFreeAp = new Data_Functor.Functor(function (f) {\n return function (x) {\n return mkAp(new Pure(f))(x);\n };\n });\n var foldFreeAp = function (dictApplicative) {\n return function (nat) {\n return function (z) {\n var go = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v.value1.value0 instanceof Pure) {\n var v1 = goApply(dictApplicative)(v.value0)(v.value1.value1)(Control_Applicative.pure(dictApplicative)(v.value1.value0.value0));\n if (v1 instanceof Data_Either.Left) {\n $tco_done = true;\n return v1.value0;\n };\n if (v1 instanceof Data_Either.Right) {\n $copy_v = v1.value0;\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 54, column 17 - line 56, column 24): \" + [ v1.constructor.name ]);\n };\n if (v.value1.value0 instanceof Lift) {\n var v1 = goApply(dictApplicative)(v.value0)(v.value1.value1)(nat(v.value1.value0.value0));\n if (v1 instanceof Data_Either.Left) {\n $tco_done = true;\n return v1.value0;\n };\n if (v1 instanceof Data_Either.Right) {\n $copy_v = v1.value0;\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 57, column 17 - line 59, column 24): \" + [ v1.constructor.name ]);\n };\n if (v.value1.value0 instanceof Ap) {\n var nextVals = new Data_NonEmpty.NonEmpty(v.value1.value0.value1, v.value1.value1);\n $copy_v = goLeft(dictApplicative)(v.value0)(nextVals)(nat)(v.value1.value0.value0)(1);\n return;\n };\n throw new Error(\"Failed pattern match at Control.Applicative.Free (line 53, column 5 - line 64, column 1): \" + [ v.value1.value0.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n return go(new Data_Tuple.Tuple(Data_List_Types.Nil.value, Data_List_NonEmpty.singleton(z)));\n };\n };\n };\n var retractFreeAp = function (dictApplicative) {\n return foldFreeAp(dictApplicative)(Control_Category.identity(Control_Category.categoryFn));\n };\n var applyFreeAp = new Control_Apply.Apply(function () {\n return functorFreeAp;\n }, function (fba) {\n return function (fb) {\n return mkAp(fba)(fb);\n };\n });\n var applicativeFreeAp = new Control_Applicative.Applicative(function () {\n return applyFreeAp;\n }, Pure.create);\n var hoistFreeAp = function (f) {\n return foldFreeAp(applicativeFreeAp)(function ($37) {\n return liftFreeAp(f($37));\n });\n };\n exports[\"liftFreeAp\"] = liftFreeAp;\n exports[\"retractFreeAp\"] = retractFreeAp;\n exports[\"foldFreeAp\"] = foldFreeAp;\n exports[\"hoistFreeAp\"] = hoistFreeAp;\n exports[\"functorFreeAp\"] = functorFreeAp;\n exports[\"applyFreeAp\"] = applyFreeAp;\n exports[\"applicativeFreeAp\"] = applicativeFreeAp;\n})(PS[\"Control.Applicative.Free\"] = PS[\"Control.Applicative.Free\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Prelude = PS[\"Prelude\"]; \n var CatQueue = (function () {\n function CatQueue(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n CatQueue.create = function (value0) {\n return function (value1) {\n return new CatQueue(value0, value1);\n };\n };\n return CatQueue;\n })();\n var uncons = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n if (v.value0 instanceof Data_List_Types.Nil && v.value1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return Data_Maybe.Nothing.value;\n };\n if (v.value0 instanceof Data_List_Types.Nil) {\n $copy_v = new CatQueue(Data_List.reverse(v.value1), Data_List_Types.Nil.value);\n return;\n };\n if (v.value0 instanceof Data_List_Types.Cons) {\n $tco_done = true;\n return new Data_Maybe.Just(new Data_Tuple.Tuple(v.value0.value0, new CatQueue(v.value0.value1, v.value1)));\n };\n throw new Error(\"Failed pattern match at Data.CatQueue (line 83, column 1 - line 83, column 63): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n var snoc = function (v) {\n return function (a) {\n return new CatQueue(v.value0, new Data_List_Types.Cons(a, v.value1));\n };\n };\n var $$null = function (v) {\n if (v.value0 instanceof Data_List_Types.Nil && v.value1 instanceof Data_List_Types.Nil) {\n return true;\n };\n return false;\n }; \n var empty = new CatQueue(Data_List_Types.Nil.value, Data_List_Types.Nil.value);\n exports[\"CatQueue\"] = CatQueue;\n exports[\"empty\"] = empty;\n exports[\"null\"] = $$null;\n exports[\"snoc\"] = snoc;\n exports[\"uncons\"] = uncons;\n})(PS[\"Data.CatQueue\"] = PS[\"Data.CatQueue\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Alt = PS[\"Control.Alt\"];\n var Control_Alternative = PS[\"Control.Alternative\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_MonadPlus = PS[\"Control.MonadPlus\"];\n var Control_MonadZero = PS[\"Control.MonadZero\"];\n var Control_Plus = PS[\"Control.Plus\"];\n var Data_CatQueue = PS[\"Data.CatQueue\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Data_Unfoldable1 = PS[\"Data.Unfoldable1\"];\n var Prelude = PS[\"Prelude\"]; \n var CatNil = (function () {\n function CatNil() {\n\n };\n CatNil.value = new CatNil();\n return CatNil;\n })();\n var CatCons = (function () {\n function CatCons(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n CatCons.create = function (value0) {\n return function (value1) {\n return new CatCons(value0, value1);\n };\n };\n return CatCons;\n })();\n var link = function (v) {\n return function (v1) {\n if (v instanceof CatNil) {\n return v1;\n };\n if (v1 instanceof CatNil) {\n return v;\n };\n if (v instanceof CatCons) {\n return new CatCons(v.value0, Data_CatQueue.snoc(v.value1)(v1));\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 109, column 1 - line 109, column 54): \" + [ v.constructor.name, v1.constructor.name ]);\n };\n };\n var foldr = function (k) {\n return function (b) {\n return function (q) {\n var foldl = function ($copy_v) {\n return function ($copy_c) {\n return function ($copy_v1) {\n var $tco_var_v = $copy_v;\n var $tco_var_c = $copy_c;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v, c, v1) {\n if (v1 instanceof Data_List_Types.Nil) {\n $tco_done = true;\n return c;\n };\n if (v1 instanceof Data_List_Types.Cons) {\n $tco_var_v = v;\n $tco_var_c = v(c)(v1.value0);\n $copy_v1 = v1.value1;\n return;\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 125, column 3 - line 125, column 59): \" + [ v.constructor.name, c.constructor.name, v1.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_v, $tco_var_c, $copy_v1);\n };\n return $tco_result;\n };\n };\n };\n var go = function ($copy_xs) {\n return function ($copy_ys) {\n var $tco_var_xs = $copy_xs;\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(xs, ys) {\n var v = Data_CatQueue.uncons(xs);\n if (v instanceof Data_Maybe.Nothing) {\n $tco_done = true;\n return foldl(function (x) {\n return function (i) {\n return i(x);\n };\n })(b)(ys);\n };\n if (v instanceof Data_Maybe.Just) {\n $tco_var_xs = v.value0.value1;\n $copy_ys = new Data_List_Types.Cons(k(v.value0.value0), ys);\n return;\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 121, column 14 - line 123, column 67): \" + [ v.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($tco_var_xs, $copy_ys);\n };\n return $tco_result;\n };\n };\n return go(q)(Data_List_Types.Nil.value);\n };\n };\n };\n var uncons = function (v) {\n if (v instanceof CatNil) {\n return Data_Maybe.Nothing.value;\n };\n if (v instanceof CatCons) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(v.value0, (function () {\n var $44 = Data_CatQueue[\"null\"](v.value1);\n if ($44) {\n return CatNil.value;\n };\n return foldr(link)(CatNil.value)(v.value1);\n })()));\n };\n throw new Error(\"Failed pattern match at Data.CatList (line 100, column 1 - line 100, column 61): \" + [ v.constructor.name ]);\n };\n var empty = CatNil.value;\n var append = link;\n var semigroupCatList = new Data_Semigroup.Semigroup(append);\n var snoc = function (cat) {\n return function (a) {\n return append(cat)(new CatCons(a, Data_CatQueue.empty));\n };\n };\n exports[\"CatNil\"] = CatNil;\n exports[\"CatCons\"] = CatCons;\n exports[\"empty\"] = empty;\n exports[\"append\"] = append;\n exports[\"snoc\"] = snoc;\n exports[\"uncons\"] = uncons;\n exports[\"semigroupCatList\"] = semigroupCatList;\n})(PS[\"Data.CatList\"] = PS[\"Data.CatList\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_CatList = PS[\"Data.CatList\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ordering = PS[\"Data.Ordering\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Free = (function () {\n function Free(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Free.create = function (value0) {\n return function (value1) {\n return new Free(value0, value1);\n };\n };\n return Free;\n })();\n var Return = (function () {\n function Return(value0) {\n this.value0 = value0;\n };\n Return.create = function (value0) {\n return new Return(value0);\n };\n return Return;\n })();\n var Bind = (function () {\n function Bind(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Bind.create = function (value0) {\n return function (value1) {\n return new Bind(value0, value1);\n };\n };\n return Bind;\n })();\n var toView = function ($copy_v) {\n var $tco_done = false;\n var $tco_result;\n function $tco_loop(v) {\n var runExpF = function (v2) {\n return v2;\n };\n var concatF = function (v2) {\n return function (r) {\n return new Free(v2.value0, Data_Semigroup.append(Data_CatList.semigroupCatList)(v2.value1)(r));\n };\n };\n if (v.value0 instanceof Return) {\n var v2 = Data_CatList.uncons(v.value1);\n if (v2 instanceof Data_Maybe.Nothing) {\n $tco_done = true;\n return new Return(v.value0.value0);\n };\n if (v2 instanceof Data_Maybe.Just) {\n $copy_v = concatF(runExpF(v2.value0.value0)(v.value0.value0))(v2.value0.value1);\n return;\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 220, column 7 - line 224, column 64): \" + [ v2.constructor.name ]);\n };\n if (v.value0 instanceof Bind) {\n $tco_done = true;\n return new Bind(v.value0.value0, function (a) {\n return concatF(v.value0.value1(a))(v.value1);\n });\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 218, column 3 - line 226, column 56): \" + [ v.value0.constructor.name ]);\n };\n while (!$tco_done) {\n $tco_result = $tco_loop($copy_v);\n };\n return $tco_result;\n };\n var fromView = function (f) {\n return new Free(f, Data_CatList.empty);\n };\n var freeMonad = new Control_Monad.Monad(function () {\n return freeApplicative;\n }, function () {\n return freeBind;\n });\n var freeFunctor = new Data_Functor.Functor(function (k) {\n return function (f) {\n return Control_Bind.bindFlipped(freeBind)(function ($118) {\n return Control_Applicative.pure(freeApplicative)(k($118));\n })(f);\n };\n });\n var freeBind = new Control_Bind.Bind(function () {\n return freeApply;\n }, function (v) {\n return function (k) {\n return new Free(v.value0, Data_CatList.snoc(v.value1)(k));\n };\n });\n var freeApply = new Control_Apply.Apply(function () {\n return freeFunctor;\n }, Control_Monad.ap(freeMonad));\n var freeApplicative = new Control_Applicative.Applicative(function () {\n return freeApply;\n }, function ($119) {\n return fromView(Return.create($119));\n });\n var liftF = function (f) {\n return fromView(new Bind(f, function ($120) {\n return Control_Applicative.pure(freeApplicative)($120);\n }));\n };\n var foldFree = function (dictMonadRec) {\n return function (k) {\n var go = function (f) {\n var v = toView(f);\n if (v instanceof Return) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Done.create)(Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(v.value0));\n };\n if (v instanceof Bind) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(function ($127) {\n return Control_Monad_Rec_Class.Loop.create(v.value1($127));\n })(k(v.value0));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free (line 151, column 10 - line 153, column 37): \" + [ v.constructor.name ]);\n };\n return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(go);\n };\n };\n exports[\"liftF\"] = liftF;\n exports[\"foldFree\"] = foldFree;\n exports[\"freeFunctor\"] = freeFunctor;\n exports[\"freeBind\"] = freeBind;\n exports[\"freeApplicative\"] = freeApplicative;\n exports[\"freeApply\"] = freeApply;\n exports[\"freeMonad\"] = freeMonad;\n})(PS[\"Control.Monad.Free\"] = PS[\"Control.Monad.Free\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Halogen_Data_Slot = PS[\"Halogen.Data.Slot\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var unChildQueryBox = Unsafe_Coerce.unsafeCoerce;\n exports[\"unChildQueryBox\"] = unChildQueryBox;\n})(PS[\"Halogen.Query.ChildQuery\"] = PS[\"Halogen.Query.ChildQuery\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Reader_Class = PS[\"Control.Monad.Reader.Class\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Monad_Writer_Class = PS[\"Control.Monad.Writer.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Exists = PS[\"Data.Exists\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Prelude = PS[\"Prelude\"]; \n var Bound = (function () {\n function Bound(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Bound.create = function (value0) {\n return function (value1) {\n return new Bound(value0, value1);\n };\n };\n return Bound;\n })();\n var FreeT = (function () {\n function FreeT(value0) {\n this.value0 = value0;\n };\n FreeT.create = function (value0) {\n return new FreeT(value0);\n };\n return FreeT;\n })();\n var Bind = (function () {\n function Bind(value0) {\n this.value0 = value0;\n };\n Bind.create = function (value0) {\n return new Bind(value0);\n };\n return Bind;\n })();\n var monadTransFreeT = function (dictFunctor) {\n return new Control_Monad_Trans_Class.MonadTrans(function (dictMonad) {\n return function (ma) {\n return new FreeT(function (v) {\n return Data_Functor.map(((dictMonad.Bind1()).Apply0()).Functor0())(Data_Either.Left.create)(ma);\n });\n };\n });\n };\n var freeT = FreeT.create;\n var bound = function (m) {\n return function (f) {\n return new Bind(Data_Exists.mkExists(new Bound(m, f)));\n };\n };\n var functorFreeT = function (dictFunctor) {\n return function (dictFunctor1) {\n return new Data_Functor.Functor(function (f) {\n return function (v) {\n if (v instanceof FreeT) {\n return new FreeT(function (v1) {\n return Data_Functor.map(dictFunctor1)(Data_Bifunctor.bimap(Data_Either.bifunctorEither)(f)(Data_Functor.map(dictFunctor)(Data_Functor.map(functorFreeT(dictFunctor)(dictFunctor1))(f))))(v.value0(Data_Unit.unit));\n });\n };\n if (v instanceof Bind) {\n return Data_Exists.runExists(function (v1) {\n return bound(v1.value0)(function ($104) {\n return Data_Functor.map(functorFreeT(dictFunctor)(dictFunctor1))(f)(v1.value1($104));\n });\n })(v.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 57, column 1 - line 57, column 71): \" + [ f.constructor.name, v.constructor.name ]);\n };\n });\n };\n };\n var monadFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Monad.Monad(function () {\n return applicativeFreeT(dictFunctor)(dictMonad);\n }, function () {\n return bindFreeT(dictFunctor)(dictMonad);\n });\n };\n };\n var bindFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Bind.Bind(function () {\n return applyFreeT(dictFunctor)(dictMonad);\n }, function (v) {\n return function (f) {\n if (v instanceof Bind) {\n return Data_Exists.runExists(function (v1) {\n return bound(v1.value0)(function (x) {\n return bound(function (v2) {\n return v1.value1(x);\n })(f);\n });\n })(v.value0);\n };\n return bound(function (v1) {\n return v;\n })(f);\n };\n });\n };\n };\n var applyFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Apply.Apply(function () {\n return functorFreeT(dictFunctor)(((dictMonad.Bind1()).Apply0()).Functor0());\n }, Control_Monad.ap(monadFreeT(dictFunctor)(dictMonad)));\n };\n };\n var applicativeFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Applicative.Applicative(function () {\n return applyFreeT(dictFunctor)(dictMonad);\n }, function (a) {\n return new FreeT(function (v) {\n return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Either.Left(a));\n });\n });\n };\n };\n var liftFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return function (fa) {\n return new FreeT(function (v) {\n return Control_Applicative.pure(dictMonad.Applicative0())(new Data_Either.Right(Data_Functor.map(dictFunctor)(Control_Applicative.pure(applicativeFreeT(dictFunctor)(dictMonad)))(fa)));\n });\n };\n };\n };\n var resume = function (dictFunctor) {\n return function (dictMonadRec) {\n var go = function (v) {\n if (v instanceof FreeT) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Done.create)(v.value0(Data_Unit.unit));\n };\n if (v instanceof Bind) {\n return Data_Exists.runExists(function (v1) {\n var v2 = v1.value0(Data_Unit.unit);\n if (v2 instanceof FreeT) {\n return Control_Bind.bind((dictMonadRec.Monad0()).Bind1())(v2.value0(Data_Unit.unit))(function (v3) {\n if (v3 instanceof Data_Either.Left) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Loop(v1.value1(v3.value0)));\n };\n if (v3 instanceof Data_Either.Right) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Done(new Data_Either.Right(Data_Functor.map(dictFunctor)(function (h) {\n return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonadRec.Monad0()))(h)(v1.value1);\n })(v3.value0))));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 52, column 20 - line 54, column 67): \" + [ v3.constructor.name ]);\n });\n };\n if (v2 instanceof Bind) {\n return Data_Exists.runExists(function (v3) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Loop(Control_Bind.bind(bindFreeT(dictFunctor)(dictMonadRec.Monad0()))(v3.value0(Data_Unit.unit))(function (z) {\n return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonadRec.Monad0()))(v3.value1(z))(v1.value1);\n })));\n })(v2.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 50, column 5 - line 55, column 98): \" + [ v2.constructor.name ]);\n })(v.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 47, column 3 - line 47, column 75): \" + [ v.constructor.name ]);\n };\n return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(go);\n };\n };\n var runFreeT = function (dictFunctor) {\n return function (dictMonadRec) {\n return function (interp) {\n var go = function (v) {\n if (v instanceof Data_Either.Left) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Control_Monad_Rec_Class.Done(v.value0));\n };\n if (v instanceof Data_Either.Right) {\n return Data_Functor.map((((dictMonadRec.Monad0()).Bind1()).Apply0()).Functor0())(Control_Monad_Rec_Class.Loop.create)(interp(v.value0));\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 126, column 3 - line 126, column 63): \" + [ v.constructor.name ]);\n };\n return Control_Monad_Rec_Class.tailRecM(dictMonadRec)(Control_Bind.composeKleisliFlipped((dictMonadRec.Monad0()).Bind1())(go)(resume(dictFunctor)(dictMonadRec)));\n };\n };\n };\n var monadRecFreeT = function (dictFunctor) {\n return function (dictMonad) {\n return new Control_Monad_Rec_Class.MonadRec(function () {\n return monadFreeT(dictFunctor)(dictMonad);\n }, function (f) {\n var go = function (s) {\n return Control_Bind.bind(bindFreeT(dictFunctor)(dictMonad))(f(s))(function (v) {\n if (v instanceof Control_Monad_Rec_Class.Loop) {\n return go(v.value0);\n };\n if (v instanceof Control_Monad_Rec_Class.Done) {\n return Control_Applicative.pure(applicativeFreeT(dictFunctor)(dictMonad))(v.value0);\n };\n throw new Error(\"Failed pattern match at Control.Monad.Free.Trans (line 80, column 15 - line 82, column 25): \" + [ v.constructor.name ]);\n });\n };\n return go;\n });\n };\n };\n exports[\"freeT\"] = freeT;\n exports[\"liftFreeT\"] = liftFreeT;\n exports[\"resume\"] = resume;\n exports[\"runFreeT\"] = runFreeT;\n exports[\"functorFreeT\"] = functorFreeT;\n exports[\"applyFreeT\"] = applyFreeT;\n exports[\"applicativeFreeT\"] = applicativeFreeT;\n exports[\"bindFreeT\"] = bindFreeT;\n exports[\"monadFreeT\"] = monadFreeT;\n exports[\"monadTransFreeT\"] = monadTransFreeT;\n exports[\"monadRecFreeT\"] = monadRecFreeT;\n})(PS[\"Control.Monad.Free.Trans\"] = PS[\"Control.Monad.Free.Trans\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad_Except = PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Monad_Free_Trans = PS[\"Control.Monad.Free.Trans\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Parallel = PS[\"Control.Parallel\"];\n var Control_Parallel_Class = PS[\"Control.Parallel.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Profunctor = PS[\"Data.Profunctor\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Prelude = PS[\"Prelude\"];\n var Emit = (function () {\n function Emit(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Emit.create = function (value0) {\n return function (value1) {\n return new Emit(value0, value1);\n };\n };\n return Emit;\n })();\n var runProcess = function (dictMonadRec) {\n return Control_Monad_Free_Trans.runFreeT(Data_Identity.functorIdentity)(dictMonadRec)(function ($186) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(Data_Newtype.unwrap(Data_Identity.newtypeIdentity)($186));\n });\n };\n var profunctorAwait = new Data_Profunctor.Profunctor(function (f) {\n return function (g) {\n return function (v) {\n return Data_Profunctor.dimap(Data_Profunctor.profunctorFn)(f)(g)(v);\n };\n };\n });\n var loop = function (dictFunctor) {\n return function (dictMonad) {\n return function (me) {\n return Control_Monad_Rec_Class.tailRecM(Control_Monad_Free_Trans.monadRecFreeT(dictFunctor)(dictMonad))(function (v) {\n return Data_Functor.map(Control_Monad_Free_Trans.functorFreeT(dictFunctor)(((dictMonad.Bind1()).Apply0()).Functor0()))(Data_Maybe.maybe(new Control_Monad_Rec_Class.Loop(Data_Unit.unit))(Control_Monad_Rec_Class.Done.create))(me);\n })(Data_Unit.unit);\n };\n };\n };\n var fuseWithL = function (dictFunctor) {\n return function (dictFunctor1) {\n return function (dictFunctor2) {\n return function (dictMonadRec) {\n return function (zap) {\n return function (fs) {\n return function (gs) {\n var go = function (v) {\n return Control_Monad_Except_Trans.runExceptT(Control_Bind.bind(Control_Monad_Except_Trans.bindExceptT(dictMonadRec.Monad0()))(Control_Monad_Except_Trans.ExceptT(Control_Monad_Free_Trans.resume(dictFunctor)(dictMonadRec)(v.value0)))(function (v1) {\n return Control_Bind.bind(Control_Monad_Except_Trans.bindExceptT(dictMonadRec.Monad0()))(Control_Monad_Except_Trans.ExceptT(Control_Monad_Free_Trans.resume(dictFunctor1)(dictMonadRec)(v.value1)))(function (v2) {\n return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(dictMonadRec.Monad0()))(Data_Functor.map(dictFunctor2)(function (t) {\n return Control_Monad_Free_Trans.freeT(function (v3) {\n return go(t);\n });\n })(zap(Data_Tuple.Tuple.create)(v1)(v2)));\n });\n }));\n };\n return Control_Monad_Free_Trans.freeT(function (v) {\n return go(new Data_Tuple.Tuple(fs, gs));\n });\n };\n };\n };\n };\n };\n };\n };\n var fuseWith = function (dictFunctor) {\n return function (dictFunctor1) {\n return function (dictFunctor2) {\n return function (dictMonadRec) {\n return function (dictParallel) {\n return function (zap) {\n return function (fs) {\n return function (gs) {\n var go = function (v) {\n return Control_Bind.bind((dictMonadRec.Monad0()).Bind1())(Control_Parallel_Class.sequential(dictParallel)(Control_Apply.apply((dictParallel.Applicative1()).Apply0())(Data_Functor.map(((dictParallel.Applicative1()).Apply0()).Functor0())(Control_Apply.lift2(Data_Either.applyEither)(zap(Data_Tuple.Tuple.create)))(Control_Parallel_Class.parallel(dictParallel)(Control_Monad_Free_Trans.resume(dictFunctor)(dictMonadRec)(v.value0))))(Control_Parallel_Class.parallel(dictParallel)(Control_Monad_Free_Trans.resume(dictFunctor1)(dictMonadRec)(v.value1)))))(function (v1) {\n if (v1 instanceof Data_Either.Left) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Data_Either.Left(v1.value0));\n };\n if (v1 instanceof Data_Either.Right) {\n return Control_Applicative.pure((dictMonadRec.Monad0()).Applicative0())(new Data_Either.Right(Data_Functor.map(dictFunctor2)(function (t) {\n return Control_Monad_Free_Trans.freeT(function (v2) {\n return go(t);\n });\n })(v1.value0)));\n };\n throw new Error(\"Failed pattern match at Control.Coroutine (line 79, column 5 - line 81, column 63): \" + [ v1.constructor.name ]);\n });\n };\n return Control_Monad_Free_Trans.freeT(function (v) {\n return go(new Data_Tuple.Tuple(fs, gs));\n });\n };\n };\n };\n };\n };\n };\n };\n };\n var functorAwait = new Data_Functor.Functor(Data_Profunctor.rmap(profunctorAwait));\n var bifunctorEmit = new Data_Bifunctor.Bifunctor(function (f) {\n return function (g) {\n return function (v) {\n return new Emit(f(v.value0), g(v.value1));\n };\n };\n });\n var functorEmit = new Data_Functor.Functor(Data_Bifunctor.rmap(bifunctorEmit));\n var connect = function (dictMonadRec) {\n return function (dictParallel) {\n return fuseWith(functorEmit)(functorAwait)(Data_Identity.functorIdentity)(dictMonadRec)(dictParallel)(function (f) {\n return function (v) {\n return function (v1) {\n return f(v.value1)(v1(v.value0));\n };\n };\n });\n };\n };\n var emit = function (dictMonad) {\n return function (o) {\n return Control_Monad_Free_Trans.liftFreeT(functorEmit)(dictMonad)(new Emit(o, Data_Unit.unit));\n };\n };\n var producer = function (dictMonad) {\n return function (recv) {\n return loop(functorEmit)(dictMonad)(Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(functorEmit)(dictMonad))(Control_Monad_Trans_Class.lift(Control_Monad_Free_Trans.monadTransFreeT(functorEmit))(dictMonad)(recv))(function (v) {\n if (v instanceof Data_Either.Left) {\n return Data_Functor.voidLeft(Control_Monad_Free_Trans.functorFreeT(functorEmit)(((dictMonad.Bind1()).Apply0()).Functor0()))(emit(dictMonad)(v.value0))(Data_Maybe.Nothing.value);\n };\n if (v instanceof Data_Either.Right) {\n return Control_Applicative.pure(Control_Monad_Free_Trans.applicativeFreeT(functorEmit)(dictMonad))(new Data_Maybe.Just(v.value0));\n };\n throw new Error(\"Failed pattern match at Control.Coroutine (line 125, column 3 - line 127, column 29): \" + [ v.constructor.name ]);\n }));\n };\n };\n var pullFrom = function (dictMonadRec) {\n return fuseWithL(functorAwait)(functorEmit)(Data_Identity.functorIdentity)(dictMonadRec)(function (f) {\n return function (v) {\n return function (v1) {\n return Control_Applicative.pure(Data_Identity.applicativeIdentity)(f(v(v1.value0))(v1.value1));\n };\n };\n });\n };\n var $$await = function (dictMonad) {\n return Control_Monad_Free_Trans.liftFreeT(functorAwait)(dictMonad)(Control_Category.identity(Control_Category.categoryFn));\n };\n exports[\"loop\"] = loop;\n exports[\"runProcess\"] = runProcess;\n exports[\"fuseWith\"] = fuseWith;\n exports[\"fuseWithL\"] = fuseWithL;\n exports[\"Emit\"] = Emit;\n exports[\"emit\"] = emit;\n exports[\"producer\"] = producer;\n exports[\"await\"] = $$await;\n exports[\"connect\"] = connect;\n exports[\"pullFrom\"] = pullFrom;\n exports[\"bifunctorEmit\"] = bifunctorEmit;\n exports[\"functorEmit\"] = functorEmit;\n exports[\"profunctorAwait\"] = profunctorAwait;\n exports[\"functorAwait\"] = functorAwait;\n})(PS[\"Control.Coroutine\"] = PS[\"Control.Coroutine\"] || {});\n(function(exports) {\n /* globals exports, setTimeout */\n \"use strict\";\n\n var AVar = function () {\n\n function MutableQueue () {\n this.head = null;\n this.last = null;\n this.size = 0;\n }\n\n function MutableCell (queue, value) {\n this.queue = queue;\n this.value = value;\n this.next = null;\n this.prev = null;\n }\n\n function AVar (value) {\n this.draining = false;\n this.error = null;\n this.value = value;\n this.takes = new MutableQueue();\n this.reads = new MutableQueue();\n this.puts = new MutableQueue();\n }\n\n var EMPTY = {};\n\n function runEff(eff) {\n try {\n eff();\n } catch (error) {\n setTimeout(function () {\n throw error;\n }, 0);\n }\n }\n\n function putLast (queue, value) {\n var cell = new MutableCell(queue, value);\n switch (queue.size) {\n case 0:\n queue.head = cell;\n break;\n case 1:\n cell.prev = queue.head;\n queue.head.next = cell;\n queue.last = cell;\n break;\n default:\n cell.prev = queue.last;\n queue.last.next = cell;\n queue.last = cell;\n }\n queue.size++;\n return cell;\n }\n\n function takeLast (queue) {\n var cell;\n switch (queue.size) {\n case 0:\n return null;\n case 1:\n cell = queue.head;\n queue.head = null;\n break;\n case 2:\n cell = queue.last;\n queue.head.next = null;\n queue.last = null;\n break;\n default:\n cell = queue.last;\n queue.last = cell.prev;\n queue.last.next = null;\n }\n cell.prev = null;\n cell.queue = null;\n queue.size--;\n return cell.value;\n }\n\n function takeHead (queue) {\n var cell;\n switch (queue.size) {\n case 0:\n return null;\n case 1:\n cell = queue.head;\n queue.head = null;\n break;\n case 2:\n cell = queue.head;\n queue.last.prev = null;\n queue.head = queue.last;\n queue.last = null;\n break;\n default:\n cell = queue.head;\n queue.head = cell.next;\n queue.head.prev = null;\n }\n cell.next = null;\n cell.queue = null;\n queue.size--;\n return cell.value;\n }\n\n function deleteCell (cell) {\n if (cell.queue === null) {\n return;\n }\n if (cell.queue.last === cell) {\n takeLast(cell.queue);\n return;\n }\n if (cell.queue.head === cell) {\n takeHead(cell.queue);\n return;\n }\n if (cell.prev) {\n cell.prev.next = cell.next;\n }\n if (cell.next) {\n cell.next.prev = cell.prev;\n }\n cell.queue.size--;\n cell.queue = null;\n cell.value = null;\n cell.next = null;\n cell.prev = null;\n }\n\n function drainVar (util, avar) {\n if (avar.draining) {\n return;\n }\n\n var ps = avar.puts;\n var ts = avar.takes;\n var rs = avar.reads;\n var p, r, t, value, rsize;\n\n avar.draining = true;\n\n while (1) { // eslint-disable-line no-constant-condition\n p = null;\n r = null;\n t = null;\n value = avar.value;\n rsize = rs.size;\n\n if (avar.error !== null) {\n value = util.left(avar.error);\n while (p = takeHead(ps)) { // eslint-disable-line no-cond-assign\n runEff(p.cb(value));\n }\n while (r = takeHead(rs)) { // eslint-disable-line no-cond-assign\n runEff(r(value));\n }\n while (t = takeHead(ts)) { // eslint-disable-line no-cond-assign\n runEff(t(value));\n }\n break;\n }\n\n // Process the next put. We do not immediately invoke the callback\n // because we want to preserve ordering. If there are takes/reads\n // we want to run those first.\n if (value === EMPTY && (p = takeHead(ps))) {\n avar.value = value = p.value;\n }\n\n if (value !== EMPTY) {\n // We go ahead and queue up the next take for the same reasons as\n // above. Invoking the read callbacks can affect the mutable queue.\n t = takeHead(ts);\n // We only want to process the reads queued up before running these\n // callbacks so we guard on rsize.\n while (rsize-- && (r = takeHead(rs))) {\n runEff(r(util.right(value)));\n }\n if (t !== null) {\n avar.value = EMPTY;\n runEff(t(util.right(value)));\n }\n }\n\n if (p !== null) {\n runEff(p.cb(util.right(void 0)));\n }\n\n // Callbacks could have queued up more items so we need to guard on the\n // actual mutable properties.\n if (avar.value === EMPTY && ps.size === 0 || avar.value !== EMPTY && ts.size === 0) {\n break;\n }\n }\n avar.draining = false;\n }\n\n AVar.EMPTY = EMPTY;\n AVar.putLast = putLast;\n AVar.takeLast = takeLast;\n AVar.takeHead = takeHead;\n AVar.deleteCell = deleteCell;\n AVar.drainVar = drainVar;\n\n return AVar;\n }();\n\n exports.empty = function () {\n return new AVar(AVar.EMPTY);\n };\n\n exports._killVar = function (util, error, avar) {\n return function () {\n if (avar.error === null) {\n avar.error = error;\n avar.value = AVar.EMPTY;\n AVar.drainVar(util, avar);\n }\n };\n };\n\n exports._putVar = function (util, value, avar, cb) {\n return function () {\n var cell = AVar.putLast(avar.puts, { cb: cb, value: value });\n AVar.drainVar(util, avar);\n return function () {\n AVar.deleteCell(cell);\n };\n };\n };\n\n exports._takeVar = function (util, avar, cb) {\n return function () {\n var cell = AVar.putLast(avar.takes, cb);\n AVar.drainVar(util, avar);\n return function () {\n AVar.deleteCell(cell);\n };\n };\n };\n})(PS[\"Effect.AVar\"] = PS[\"Effect.AVar\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.AVar\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Effect = PS[\"Effect\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Prelude = PS[\"Prelude\"]; \n var Killed = (function () {\n function Killed(value0) {\n this.value0 = value0;\n };\n Killed.create = function (value0) {\n return new Killed(value0);\n };\n return Killed;\n })();\n var Filled = (function () {\n function Filled(value0) {\n this.value0 = value0;\n };\n Filled.create = function (value0) {\n return new Filled(value0);\n };\n return Filled;\n })();\n var Empty = (function () {\n function Empty() {\n\n };\n Empty.value = new Empty();\n return Empty;\n })();\n var ffiUtil = {\n left: Data_Either.Left.create,\n right: Data_Either.Right.create,\n nothing: Data_Maybe.Nothing.value,\n just: Data_Maybe.Just.create,\n killed: Killed.create,\n filled: Filled.create,\n empty: Empty.value\n };\n var kill = function (err) {\n return function (avar) {\n return $foreign[\"_killVar\"](ffiUtil, err, avar);\n };\n };\n var put = function (value) {\n return function (avar) {\n return function (cb) {\n return $foreign[\"_putVar\"](ffiUtil, value, avar, cb);\n };\n };\n };\n var take = function (avar) {\n return function (cb) {\n return $foreign[\"_takeVar\"](ffiUtil, avar, cb);\n };\n };\n exports[\"Killed\"] = Killed;\n exports[\"Filled\"] = Filled;\n exports[\"Empty\"] = Empty;\n exports[\"take\"] = take;\n exports[\"put\"] = put;\n exports[\"kill\"] = kill;\n exports[\"empty\"] = $foreign.empty;\n})(PS[\"Effect.AVar\"] = PS[\"Effect.AVar\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Effect = PS[\"Effect\"];\n var Effect_AVar = PS[\"Effect.AVar\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Prelude = PS[\"Prelude\"];\n var take = function (avar) {\n return Effect_Aff.makeAff(function (k) {\n return function __do() {\n var v = Effect_AVar.take(avar)(k)();\n return Effect_Aff.effectCanceler(v);\n };\n });\n };\n var put = function (value) {\n return function (avar) {\n return Effect_Aff.makeAff(function (k) {\n return function __do() {\n var v = Effect_AVar.put(value)(avar)(k)();\n return Effect_Aff.effectCanceler(v);\n };\n });\n };\n };\n var kill = function (error) {\n return function ($11) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_AVar.kill(error)($11));\n };\n };\n var empty = Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_AVar.empty);\n exports[\"empty\"] = empty;\n exports[\"take\"] = take;\n exports[\"put\"] = put;\n exports[\"kill\"] = kill;\n})(PS[\"Effect.Aff.AVar\"] = PS[\"Effect.Aff.AVar\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Coroutine = PS[\"Control.Coroutine\"];\n var Control_Monad_Free_Trans = PS[\"Control.Monad.Free.Trans\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Profunctor = PS[\"Data.Profunctor\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Aff_AVar = PS[\"Effect.Aff.AVar\"];\n var Effect_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Prelude = PS[\"Prelude\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var finalize = function (v) {\n return v;\n };\n exports[\"finalize\"] = finalize;\n})(PS[\"Halogen.Query.EventSource\"] = PS[\"Halogen.Query.EventSource\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM = PS[\"Web.DOM\"];\n var RefUpdate = (function () {\n function RefUpdate(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n RefUpdate.create = function (value0) {\n return function (value1) {\n return new RefUpdate(value0, value1);\n };\n };\n return RefUpdate;\n })();\n var Action = (function () {\n function Action(value0) {\n this.value0 = value0;\n };\n Action.create = function (value0) {\n return new Action(value0);\n };\n return Action;\n })();\n exports[\"RefUpdate\"] = RefUpdate;\n exports[\"Action\"] = Action;\n})(PS[\"Halogen.Query.Input\"] = PS[\"Halogen.Query.Input\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Applicative_Free = PS[\"Control.Applicative.Free\"];\n var Control_Apply = PS[\"Control.Apply\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Free = PS[\"Control.Monad.Free\"];\n var Control_Monad_Reader_Class = PS[\"Control.Monad.Reader.Class\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Monad_Writer_Class = PS[\"Control.Monad.Writer.Class\"];\n var Control_Parallel_Class = PS[\"Control.Parallel.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_FoldableWithIndex = PS[\"Data.FoldableWithIndex\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Map = PS[\"Data.Map\"];\n var Data_Map_Internal = PS[\"Data.Map.Internal\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Halogen_Data_Slot = PS[\"Halogen.Data.Slot\"];\n var Halogen_Query_ChildQuery = PS[\"Halogen.Query.ChildQuery\"];\n var Halogen_Query_EventSource = PS[\"Halogen.Query.EventSource\"];\n var Halogen_Query_Input = PS[\"Halogen.Query.Input\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM = PS[\"Web.DOM\"]; \n var SubscriptionId = function (x) {\n return x;\n };\n var ForkId = function (x) {\n return x;\n };\n var State = (function () {\n function State(value0) {\n this.value0 = value0;\n };\n State.create = function (value0) {\n return new State(value0);\n };\n return State;\n })();\n var Subscribe = (function () {\n function Subscribe(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Subscribe.create = function (value0) {\n return function (value1) {\n return new Subscribe(value0, value1);\n };\n };\n return Subscribe;\n })();\n var Unsubscribe = (function () {\n function Unsubscribe(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Unsubscribe.create = function (value0) {\n return function (value1) {\n return new Unsubscribe(value0, value1);\n };\n };\n return Unsubscribe;\n })();\n var Lift = (function () {\n function Lift(value0) {\n this.value0 = value0;\n };\n Lift.create = function (value0) {\n return new Lift(value0);\n };\n return Lift;\n })();\n var ChildQuery = (function () {\n function ChildQuery(value0) {\n this.value0 = value0;\n };\n ChildQuery.create = function (value0) {\n return new ChildQuery(value0);\n };\n return ChildQuery;\n })();\n var Raise = (function () {\n function Raise(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Raise.create = function (value0) {\n return function (value1) {\n return new Raise(value0, value1);\n };\n };\n return Raise;\n })();\n var Par = (function () {\n function Par(value0) {\n this.value0 = value0;\n };\n Par.create = function (value0) {\n return new Par(value0);\n };\n return Par;\n })();\n var Fork = (function () {\n function Fork(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Fork.create = function (value0) {\n return function (value1) {\n return new Fork(value0, value1);\n };\n };\n return Fork;\n })();\n var Kill = (function () {\n function Kill(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Kill.create = function (value0) {\n return function (value1) {\n return new Kill(value0, value1);\n };\n };\n return Kill;\n })();\n var GetRef = (function () {\n function GetRef(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n GetRef.create = function (value0) {\n return function (value1) {\n return new GetRef(value0, value1);\n };\n };\n return GetRef;\n })();\n var HalogenM = function (x) {\n return x;\n };\n var raise = function (o) {\n return HalogenM(Control_Monad_Free.liftF(new Raise(o, Data_Unit.unit)));\n };\n var ordSubscriptionId = Data_Ord.ordInt;\n var ordForkId = Data_Ord.ordInt;\n var monadHalogenM = Control_Monad_Free.freeMonad;\n var monadStateHalogenM = new Control_Monad_State_Class.MonadState(function () {\n return monadHalogenM;\n }, function ($132) {\n return HalogenM(Control_Monad_Free.liftF(State.create($132)));\n });\n var monadEffectHalogenM = function (dictMonadEffect) {\n return new Effect_Class.MonadEffect(function () {\n return monadHalogenM;\n }, function ($135) {\n return HalogenM(Control_Monad_Free.liftF(Lift.create(Effect_Class.liftEffect(dictMonadEffect)($135))));\n });\n };\n var monadAffHalogenM = function (dictMonadAff) {\n return new Effect_Aff_Class.MonadAff(function () {\n return monadEffectHalogenM(dictMonadAff.MonadEffect0());\n }, function ($136) {\n return HalogenM(Control_Monad_Free.liftF(Lift.create(Effect_Aff_Class.liftAff(dictMonadAff)($136))));\n });\n };\n var getRef = function (p) {\n return HalogenM(Control_Monad_Free.liftF(new GetRef(p, Control_Category.identity(Control_Category.categoryFn))));\n };\n var functorHalogenM = Control_Monad_Free.freeFunctor;\n var bindHalogenM = Control_Monad_Free.freeBind; \n var applicativeHalogenM = Control_Monad_Free.freeApplicative;\n exports[\"State\"] = State;\n exports[\"Subscribe\"] = Subscribe;\n exports[\"Unsubscribe\"] = Unsubscribe;\n exports[\"Lift\"] = Lift;\n exports[\"ChildQuery\"] = ChildQuery;\n exports[\"Raise\"] = Raise;\n exports[\"Par\"] = Par;\n exports[\"Fork\"] = Fork;\n exports[\"Kill\"] = Kill;\n exports[\"GetRef\"] = GetRef;\n exports[\"HalogenM\"] = HalogenM;\n exports[\"raise\"] = raise;\n exports[\"SubscriptionId\"] = SubscriptionId;\n exports[\"ForkId\"] = ForkId;\n exports[\"getRef\"] = getRef;\n exports[\"functorHalogenM\"] = functorHalogenM;\n exports[\"applicativeHalogenM\"] = applicativeHalogenM;\n exports[\"bindHalogenM\"] = bindHalogenM;\n exports[\"monadHalogenM\"] = monadHalogenM;\n exports[\"monadEffectHalogenM\"] = monadEffectHalogenM;\n exports[\"monadAffHalogenM\"] = monadAffHalogenM;\n exports[\"monadStateHalogenM\"] = monadStateHalogenM;\n exports[\"ordSubscriptionId\"] = ordSubscriptionId;\n exports[\"ordForkId\"] = ordForkId;\n})(PS[\"Halogen.Query.HalogenM\"] = PS[\"Halogen.Query.HalogenM\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Coyoneda = PS[\"Data.Coyoneda\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Prelude = PS[\"Prelude\"]; \n var Initialize = (function () {\n function Initialize(value0) {\n this.value0 = value0;\n };\n Initialize.create = function (value0) {\n return new Initialize(value0);\n };\n return Initialize;\n })();\n var Finalize = (function () {\n function Finalize(value0) {\n this.value0 = value0;\n };\n Finalize.create = function (value0) {\n return new Finalize(value0);\n };\n return Finalize;\n })();\n var Receive = (function () {\n function Receive(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Receive.create = function (value0) {\n return function (value1) {\n return new Receive(value0, value1);\n };\n };\n return Receive;\n })();\n var Action = (function () {\n function Action(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Action.create = function (value0) {\n return function (value1) {\n return new Action(value0, value1);\n };\n };\n return Action;\n })();\n var Query = (function () {\n function Query(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Query.create = function (value0) {\n return function (value1) {\n return new Query(value0, value1);\n };\n };\n return Query;\n })();\n exports[\"Initialize\"] = Initialize;\n exports[\"Finalize\"] = Finalize;\n exports[\"Receive\"] = Receive;\n exports[\"Action\"] = Action;\n exports[\"Query\"] = Query;\n})(PS[\"Halogen.Query.HalogenQ\"] = PS[\"Halogen.Query.HalogenQ\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Function = PS[\"Data.Function\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"]; \n var Step = (function () {\n function Step(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Step.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Step(value0, value1, value2, value3);\n };\n };\n };\n };\n return Step;\n })();\n var unStep = Unsafe_Coerce.unsafeCoerce;\n var step = function (v, a) {\n return v.value2(v.value1, a);\n };\n var mkStep = Unsafe_Coerce.unsafeCoerce;\n var halt = function (v) {\n return v.value3(v.value1);\n };\n var extract = unStep(function (v) {\n return v.value0;\n });\n exports[\"Step\"] = Step;\n exports[\"mkStep\"] = mkStep;\n exports[\"unStep\"] = unStep;\n exports[\"extract\"] = extract;\n exports[\"step\"] = step;\n exports[\"halt\"] = halt;\n})(PS[\"Halogen.VDom.Machine\"] = PS[\"Halogen.VDom.Machine\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Category = PS[\"Control.Category\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Text = (function () {\n function Text(value0) {\n this.value0 = value0;\n };\n Text.create = function (value0) {\n return new Text(value0);\n };\n return Text;\n })();\n var Elem = (function () {\n function Elem(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Elem.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Elem(value0, value1, value2, value3);\n };\n };\n };\n };\n return Elem;\n })();\n var Keyed = (function () {\n function Keyed(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Keyed.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Keyed(value0, value1, value2, value3);\n };\n };\n };\n };\n return Keyed;\n })();\n var Widget = (function () {\n function Widget(value0) {\n this.value0 = value0;\n };\n Widget.create = function (value0) {\n return new Widget(value0);\n };\n return Widget;\n })();\n var Grafted = (function () {\n function Grafted(value0) {\n this.value0 = value0;\n };\n Grafted.create = function (value0) {\n return new Grafted(value0);\n };\n return Grafted;\n })();\n var Graft = (function () {\n function Graft(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n Graft.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new Graft(value0, value1, value2);\n };\n };\n };\n return Graft;\n })();\n var unGraft = function (f) {\n return function ($45) {\n return f($45);\n };\n }; \n var graft = Unsafe_Coerce.unsafeCoerce;\n var bifunctorGraft = new Data_Bifunctor.Bifunctor(function (f) {\n return function (g) {\n return unGraft(function (v) {\n return graft(new Graft(function ($47) {\n return f(v.value0($47));\n }, function ($48) {\n return g(v.value1($48));\n }, v.value2));\n });\n };\n });\n var runGraft = unGraft(function (v) {\n var go = function (v2) {\n if (v2 instanceof Text) {\n return new Text(v2.value0);\n };\n if (v2 instanceof Elem) {\n return new Elem(v2.value0, v2.value1, v.value0(v2.value2), Data_Functor.map(Data_Functor.functorArray)(go)(v2.value3));\n };\n if (v2 instanceof Keyed) {\n return new Keyed(v2.value0, v2.value1, v.value0(v2.value2), Data_Functor.map(Data_Functor.functorArray)(Data_Functor.map(Data_Tuple.functorTuple)(go))(v2.value3));\n };\n if (v2 instanceof Widget) {\n return new Widget(v.value1(v2.value0));\n };\n if (v2 instanceof Grafted) {\n return new Grafted(Data_Bifunctor.bimap(bifunctorGraft)(v.value0)(v.value1)(v2.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Types (line 73, column 7 - line 73, column 27): \" + [ v2.constructor.name ]);\n };\n return go(v.value2);\n });\n exports[\"Text\"] = Text;\n exports[\"Elem\"] = Elem;\n exports[\"Keyed\"] = Keyed;\n exports[\"Widget\"] = Widget;\n exports[\"Grafted\"] = Grafted;\n exports[\"Graft\"] = Graft;\n exports[\"graft\"] = graft;\n exports[\"unGraft\"] = unGraft;\n exports[\"runGraft\"] = runGraft;\n exports[\"bifunctorGraft\"] = bifunctorGraft;\n})(PS[\"Halogen.VDom.Types\"] = PS[\"Halogen.VDom.Types\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.unsafeGetAny = function (key, obj) {\n return obj[key];\n };\n\n exports.unsafeHasAny = function (key, obj) {\n return obj.hasOwnProperty(key);\n };\n\n exports.unsafeSetAny = function (key, val, obj) {\n obj[key] = val;\n };\n\n exports.forE = function (a, f) {\n var b = [];\n for (var i = 0; i < a.length; i++) {\n b.push(f(i, a[i]));\n }\n return b;\n };\n\n exports.forEachE = function (a, f) {\n for (var i = 0; i < a.length; i++) {\n f(a[i]);\n }\n };\n\n exports.forInE = function (o, f) {\n var ks = Object.keys(o);\n for (var i = 0; i < ks.length; i++) {\n var k = ks[i];\n f(k, o[k]);\n }\n };\n\n exports.diffWithIxE = function (a1, a2, f1, f2, f3) {\n var a3 = [];\n var l1 = a1.length;\n var l2 = a2.length;\n var i = 0;\n while (1) {\n if (i < l1) {\n if (i < l2) {\n a3.push(f1(i, a1[i], a2[i]));\n } else {\n f2(i, a1[i]);\n }\n } else if (i < l2) {\n a3.push(f3(i, a2[i]));\n } else {\n break;\n }\n i++;\n }\n return a3;\n };\n\n exports.strMapWithIxE = function (as, fk, f) {\n var o = {};\n for (var i = 0; i < as.length; i++) {\n var a = as[i];\n var k = fk(a);\n o[k] = f(k, i, a);\n }\n return o;\n };\n\n exports.diffWithKeyAndIxE = function (o1, as, fk, f1, f2, f3) {\n var o2 = {};\n for (var i = 0; i < as.length; i++) {\n var a = as[i];\n var k = fk(a);\n if (o1.hasOwnProperty(k)) {\n o2[k] = f1(k, i, o1[k], a);\n } else {\n o2[k] = f3(k, i, a);\n }\n }\n for (var k in o1) {\n if (k in o2) {\n continue;\n }\n f2(k, o1[k]);\n }\n return o2;\n };\n\n exports.refEq = function (a, b) {\n return a === b;\n };\n\n exports.createTextNode = function (s, doc) {\n return doc.createTextNode(s);\n };\n\n exports.setTextContent = function (s, n) {\n n.textContent = s;\n };\n\n exports.createElement = function (ns, name, doc) {\n if (ns != null) {\n return doc.createElementNS(ns, name);\n } else {\n return doc.createElement(name)\n }\n };\n\n exports.insertChildIx = function (i, a, b) {\n var n = b.childNodes.item(i) || null;\n if (n !== a) {\n b.insertBefore(a, n);\n }\n };\n\n exports.removeChild = function (a, b) {\n if (b && a.parentNode === b) {\n b.removeChild(a);\n }\n };\n\n exports.parentNode = function (a) {\n return a.parentNode;\n };\n\n exports.setAttribute = function (ns, attr, val, el) {\n if (ns != null) {\n el.setAttributeNS(ns, attr, val);\n } else {\n el.setAttribute(attr, val);\n }\n };\n\n exports.removeAttribute = function (ns, attr, el) {\n if (ns != null) {\n el.removeAttributeNS(ns, attr);\n } else {\n el.removeAttribute(attr);\n }\n };\n\n exports.addEventListener = function (ev, listener, el) {\n el.addEventListener(ev, listener, false);\n };\n\n exports.removeEventListener = function (ev, listener, el) {\n el.removeEventListener(ev, listener, false);\n };\n\n exports.jsUndefined = void 0;\n})(PS[\"Halogen.VDom.Util\"] = PS[\"Halogen.VDom.Util\"] || {});\n(function(exports) {\n \"use strict\";\n\n var getEffProp = function (name) {\n return function (node) {\n return function () {\n return node[name];\n };\n };\n }; \n\n exports._parentNode = getEffProp(\"parentNode\"); \n\n exports._nextSibling = getEffProp(\"nextSibling\");\n\n exports.insertBefore = function (node1) {\n return function (node2) {\n return function (parent) {\n return function () {\n return parent.insertBefore(node1, node2);\n };\n };\n };\n };\n\n exports.appendChild = function (node) {\n return function (parent) {\n return function () {\n return parent.appendChild(node);\n };\n };\n };\n\n exports.removeChild = function (node) {\n return function (parent) {\n return function () {\n return parent.removeChild(node);\n };\n };\n };\n})(PS[\"Web.DOM.Node\"] = PS[\"Web.DOM.Node\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Web.DOM.Node\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Enum = PS[\"Data.Enum\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Effect = PS[\"Effect\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_Internal_Types = PS[\"Web.DOM.Internal.Types\"];\n var Web_DOM_NodeType = PS[\"Web.DOM.NodeType\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var Web_Internal_FFI = PS[\"Web.Internal.FFI\"];\n var parentNode = function ($2) {\n return Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe)($foreign[\"_parentNode\"]($2));\n };\n var nextSibling = function ($6) {\n return Data_Functor.map(Effect.functorEffect)(Data_Nullable.toMaybe)($foreign[\"_nextSibling\"]($6));\n };\n exports[\"parentNode\"] = parentNode;\n exports[\"nextSibling\"] = nextSibling;\n exports[\"insertBefore\"] = $foreign.insertBefore;\n exports[\"appendChild\"] = $foreign.appendChild;\n exports[\"removeChild\"] = $foreign.removeChild;\n})(PS[\"Web.DOM.Node\"] = PS[\"Web.DOM.Node\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Halogen.VDom.Util\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Effect = PS[\"Effect\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Foreign_Object = PS[\"Foreign.Object\"];\n var Foreign_Object_ST = PS[\"Foreign.Object.ST\"];\n var Halogen_VDom_Types = PS[\"Halogen.VDom.Types\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_Node = PS[\"Web.DOM.Node\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"]; \n var unsafeLookup = $foreign.unsafeGetAny;\n var unsafeFreeze = Unsafe_Coerce.unsafeCoerce;\n var pokeMutMap = $foreign.unsafeSetAny;\n var newMutMap = Foreign_Object_ST[\"new\"];\n exports[\"newMutMap\"] = newMutMap;\n exports[\"pokeMutMap\"] = pokeMutMap;\n exports[\"unsafeFreeze\"] = unsafeFreeze;\n exports[\"unsafeLookup\"] = unsafeLookup;\n exports[\"unsafeGetAny\"] = $foreign.unsafeGetAny;\n exports[\"unsafeHasAny\"] = $foreign.unsafeHasAny;\n exports[\"unsafeSetAny\"] = $foreign.unsafeSetAny;\n exports[\"forE\"] = $foreign.forE;\n exports[\"forEachE\"] = $foreign.forEachE;\n exports[\"forInE\"] = $foreign.forInE;\n exports[\"diffWithIxE\"] = $foreign.diffWithIxE;\n exports[\"diffWithKeyAndIxE\"] = $foreign.diffWithKeyAndIxE;\n exports[\"strMapWithIxE\"] = $foreign.strMapWithIxE;\n exports[\"refEq\"] = $foreign.refEq;\n exports[\"createTextNode\"] = $foreign.createTextNode;\n exports[\"setTextContent\"] = $foreign.setTextContent;\n exports[\"createElement\"] = $foreign.createElement;\n exports[\"insertChildIx\"] = $foreign.insertChildIx;\n exports[\"removeChild\"] = $foreign.removeChild;\n exports[\"parentNode\"] = $foreign.parentNode;\n exports[\"setAttribute\"] = $foreign.setAttribute;\n exports[\"removeAttribute\"] = $foreign.removeAttribute;\n exports[\"addEventListener\"] = $foreign.addEventListener;\n exports[\"removeEventListener\"] = $foreign.removeEventListener;\n exports[\"jsUndefined\"] = $foreign.jsUndefined;\n})(PS[\"Halogen.VDom.Util\"] = PS[\"Halogen.VDom.Util\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Effect = PS[\"Effect\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Foreign_Object = PS[\"Foreign.Object\"];\n var Halogen_VDom_Machine = PS[\"Halogen.VDom.Machine\"];\n var Halogen_VDom_Types = PS[\"Halogen.VDom.Types\"];\n var Halogen_VDom_Util = PS[\"Halogen.VDom.Util\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_Node = PS[\"Web.DOM.Node\"];\n var haltWidget = function (v) {\n return Halogen_VDom_Machine.halt(v.widget);\n };\n var patchWidget = function (state, vdom) {\n if (vdom instanceof Halogen_VDom_Types.Grafted) {\n return patchWidget(state, Halogen_VDom_Types.runGraft(vdom.value0));\n };\n if (vdom instanceof Halogen_VDom_Types.Widget) {\n var v = Halogen_VDom_Machine.step(state.widget, vdom.value0);\n var res$prime = Halogen_VDom_Machine.unStep(function (v1) {\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(v1.value0, {\n build: state.build,\n widget: v\n }, patchWidget, haltWidget));\n })(v);\n return res$prime;\n };\n haltWidget(state);\n return state.build(vdom);\n };\n var haltText = function (v) {\n var v1 = Halogen_VDom_Util.parentNode(v.node);\n return Halogen_VDom_Util.removeChild(v.node, v1);\n };\n var patchText = function (state, vdom) {\n if (vdom instanceof Halogen_VDom_Types.Grafted) {\n return patchText(state, Halogen_VDom_Types.runGraft(vdom.value0));\n };\n if (vdom instanceof Halogen_VDom_Types.Text) {\n if (state.value === vdom.value0) {\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, state, patchText, haltText));\n };\n if (Data_Boolean.otherwise) {\n var nextState = {\n build: state.build,\n node: state.node,\n value: vdom.value0\n };\n Halogen_VDom_Util.setTextContent(vdom.value0, state.node);\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, patchText, haltText));\n };\n };\n haltText(state);\n return state.build(vdom);\n };\n var haltKeyed = function (v) {\n var v1 = Halogen_VDom_Util.parentNode(v.node);\n Halogen_VDom_Util.removeChild(v.node, v1);\n Halogen_VDom_Util.forInE(v.children, function (v2, s) {\n return Halogen_VDom_Machine.halt(s);\n });\n return Halogen_VDom_Machine.halt(v.attrs);\n };\n var haltElem = function (v) {\n var v1 = Halogen_VDom_Util.parentNode(v.node);\n Halogen_VDom_Util.removeChild(v.node, v1);\n Halogen_VDom_Util.forEachE(v.children, Halogen_VDom_Machine.halt);\n return Halogen_VDom_Machine.halt(v.attrs);\n };\n var eqElemSpec = function (ns1, v, ns2, v1) {\n var $84 = v === v1;\n if ($84) {\n if (ns1 instanceof Data_Maybe.Just && (ns2 instanceof Data_Maybe.Just && ns1.value0 === ns2.value0)) {\n return true;\n };\n if (ns1 instanceof Data_Maybe.Nothing && ns2 instanceof Data_Maybe.Nothing) {\n return true;\n };\n return false;\n };\n return false;\n };\n var patchElem = function (state, vdom) {\n if (vdom instanceof Halogen_VDom_Types.Grafted) {\n return patchElem(state, Halogen_VDom_Types.runGraft(vdom.value0));\n };\n if (vdom instanceof Halogen_VDom_Types.Elem && eqElemSpec(state.ns, state.name, vdom.value0, vdom.value1)) {\n var v = Data_Array.length(vdom.value3);\n var v1 = Data_Array.length(state.children);\n if (v1 === 0 && v === 0) {\n var v2 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: v2,\n ns: vdom.value0,\n name: vdom.value1,\n children: state.children\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, patchElem, haltElem));\n };\n var onThis = function (ix, s) {\n return Halogen_VDom_Machine.halt(s);\n };\n var onThese = function (ix, s, v2) {\n var v3 = Halogen_VDom_Machine.step(s, v2);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(v3), state.node);\n return v3;\n };\n var onThat = function (ix, v2) {\n var v3 = state.build(v2);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(v3), state.node);\n return v3;\n };\n var v2 = Halogen_VDom_Util.diffWithIxE(state.children, vdom.value3, onThese, onThis, onThat);\n var v3 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: v3,\n ns: vdom.value0,\n name: vdom.value1,\n children: v2\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, patchElem, haltElem));\n };\n haltElem(state);\n return state.build(vdom);\n };\n var patchKeyed = function (state, vdom) {\n if (vdom instanceof Halogen_VDom_Types.Grafted) {\n return patchKeyed(state, Halogen_VDom_Types.runGraft(vdom.value0));\n };\n if (vdom instanceof Halogen_VDom_Types.Keyed && eqElemSpec(state.ns, state.name, vdom.value0, vdom.value1)) {\n var v = Data_Array.length(vdom.value3);\n if (state.length === 0 && v === 0) {\n var v2 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: v2,\n ns: vdom.value0,\n name: vdom.value1,\n children: state.children,\n length: 0\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, patchKeyed, haltKeyed));\n };\n var onThis = function (v2, s) {\n return Halogen_VDom_Machine.halt(s);\n };\n var onThese = function (v2, ix$prime, s, v3) {\n var v5 = Halogen_VDom_Machine.step(s, v3.value1);\n Halogen_VDom_Util.insertChildIx(ix$prime, Halogen_VDom_Machine.extract(v5), state.node);\n return v5;\n };\n var onThat = function (v2, ix, v3) {\n var v5 = state.build(v3.value1);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(v5), state.node);\n return v5;\n };\n var v2 = Halogen_VDom_Util.diffWithKeyAndIxE(state.children, vdom.value3, Data_Tuple.fst, onThese, onThis, onThat);\n var v3 = Halogen_VDom_Machine.step(state.attrs, vdom.value2);\n var nextState = {\n build: state.build,\n node: state.node,\n attrs: v3,\n ns: vdom.value0,\n name: vdom.value1,\n children: v2,\n length: v\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(state.node, nextState, patchKeyed, haltKeyed));\n };\n haltKeyed(state);\n return state.build(vdom);\n };\n var buildWidget = function (v, build, w) {\n var v1 = v.buildWidget(v)(w);\n var res$prime = Halogen_VDom_Machine.unStep(function (v2) {\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(v2.value0, {\n build: build,\n widget: v1\n }, patchWidget, haltWidget));\n })(v1);\n return res$prime;\n };\n var buildText = function (v, build, s) {\n var v1 = Halogen_VDom_Util.createTextNode(s, v.document);\n var state = {\n build: build,\n node: v1,\n value: s\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(v1, state, patchText, haltText));\n };\n var buildKeyed = function (v, build, ns1, name1, as1, ch1) {\n var v1 = Halogen_VDom_Util.createElement(Data_Nullable.toNullable(ns1), name1, v.document);\n var node = Web_DOM_Element.toNode(v1);\n var onChild = function (k, ix, v2) {\n var v3 = build(v2.value1);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(v3), node);\n return v3;\n };\n var v2 = Halogen_VDom_Util.strMapWithIxE(ch1, Data_Tuple.fst, onChild);\n var v3 = v.buildAttributes(v1)(as1);\n var state = {\n build: build,\n node: node,\n attrs: v3,\n ns: ns1,\n name: name1,\n children: v2,\n length: Data_Array.length(ch1)\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(node, state, patchKeyed, haltKeyed));\n };\n var buildElem = function (v, build, ns1, name1, as1, ch1) {\n var v1 = Halogen_VDom_Util.createElement(Data_Nullable.toNullable(ns1), name1, v.document);\n var node = Web_DOM_Element.toNode(v1);\n var onChild = function (ix, child) {\n var v2 = build(child);\n Halogen_VDom_Util.insertChildIx(ix, Halogen_VDom_Machine.extract(v2), node);\n return v2;\n };\n var v2 = Halogen_VDom_Util.forE(ch1, onChild);\n var v3 = v.buildAttributes(v1)(as1);\n var state = {\n build: build,\n node: node,\n attrs: v3,\n ns: ns1,\n name: name1,\n children: v2\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(node, state, patchElem, haltElem));\n };\n var buildVDom = function (spec) {\n var build = function (v) {\n if (v instanceof Halogen_VDom_Types.Text) {\n return buildText(spec, build, v.value0);\n };\n if (v instanceof Halogen_VDom_Types.Elem) {\n return buildElem(spec, build, v.value0, v.value1, v.value2, v.value3);\n };\n if (v instanceof Halogen_VDom_Types.Keyed) {\n return buildKeyed(spec, build, v.value0, v.value1, v.value2, v.value3);\n };\n if (v instanceof Halogen_VDom_Types.Widget) {\n return buildWidget(spec, build, v.value0);\n };\n if (v instanceof Halogen_VDom_Types.Grafted) {\n return build(Halogen_VDom_Types.runGraft(v.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM (line 58, column 27 - line 63, column 52): \" + [ v.constructor.name ]);\n };\n return build;\n };\n exports[\"buildVDom\"] = buildVDom;\n exports[\"buildText\"] = buildText;\n exports[\"buildElem\"] = buildElem;\n exports[\"buildKeyed\"] = buildKeyed;\n exports[\"buildWidget\"] = buildWidget;\n})(PS[\"Halogen.VDom.DOM\"] = PS[\"Halogen.VDom.DOM\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Effect = PS[\"Effect\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Halogen_VDom = PS[\"Halogen.VDom\"];\n var Halogen_VDom_DOM = PS[\"Halogen.VDom.DOM\"];\n var Halogen_VDom_Machine = PS[\"Halogen.VDom.Machine\"];\n var Halogen_VDom_Util = PS[\"Halogen.VDom.Util\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Node = PS[\"Web.DOM.Node\"]; \n var Thunk = (function () {\n function Thunk(value0, value1, value2, value3) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n this.value3 = value3;\n };\n Thunk.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return function (value3) {\n return new Thunk(value0, value1, value2, value3);\n };\n };\n };\n };\n return Thunk;\n })(); \n var unsafeEqThunk = function (v, v1) {\n return Halogen_VDom_Util.refEq(v.value0, v1.value0) && (Halogen_VDom_Util.refEq(v.value1, v1.value1) && Halogen_VDom_Util.refEq(v.value3, v1.value3));\n };\n var thunk = function (tid, eqFn, f, a) {\n return new Thunk(tid, eqFn, f, a);\n };\n var runThunk = function (v) {\n return v.value2(v.value3);\n };\n var buildThunk = function (toVDom) {\n var haltThunk = function (state) {\n return Halogen_VDom_Machine.halt(state.vdom);\n };\n var patchThunk = function (state, t2) {\n var $45 = unsafeEqThunk(state.thunk, t2);\n if ($45) {\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(state.vdom), state, patchThunk, haltThunk));\n };\n var v = Halogen_VDom_Machine.step(state.vdom, toVDom(runThunk(t2)));\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(v), {\n vdom: v,\n thunk: t2\n }, patchThunk, haltThunk));\n };\n var renderThunk = function (spec) {\n return function (t) {\n var v = Halogen_VDom_DOM.buildVDom(spec)(toVDom(runThunk(t)));\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(v), {\n thunk: t,\n vdom: v\n }, patchThunk, haltThunk));\n };\n };\n return renderThunk;\n };\n exports[\"buildThunk\"] = buildThunk;\n exports[\"runThunk\"] = runThunk;\n})(PS[\"Halogen.VDom.Thunk\"] = PS[\"Halogen.VDom.Thunk\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Coyoneda = PS[\"Data.Coyoneda\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Halogen_Data_Slot = PS[\"Halogen.Data.Slot\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Halogen_Query_HalogenQ = PS[\"Halogen.Query.HalogenQ\"];\n var Halogen_VDom_Thunk = PS[\"Halogen.VDom.Thunk\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"]; \n var ComponentSlot = (function () {\n function ComponentSlot(value0) {\n this.value0 = value0;\n };\n ComponentSlot.create = function (value0) {\n return new ComponentSlot(value0);\n };\n return ComponentSlot;\n })();\n var ThunkSlot = (function () {\n function ThunkSlot(value0) {\n this.value0 = value0;\n };\n ThunkSlot.create = function (value0) {\n return new ThunkSlot(value0);\n };\n return ThunkSlot;\n })();\n var unComponentSlot = Unsafe_Coerce.unsafeCoerce;\n var unComponent = Unsafe_Coerce.unsafeCoerce;\n var mkEval = function (args) {\n return function (v) {\n if (v instanceof Halogen_Query_HalogenQ.Initialize) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(Data_Foldable.traverse_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(args.handleAction)(args.initialize))(v.value0);\n };\n if (v instanceof Halogen_Query_HalogenQ.Finalize) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(Data_Foldable.traverse_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(args.handleAction)(args.finalize))(v.value0);\n };\n if (v instanceof Halogen_Query_HalogenQ.Receive) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(Data_Foldable.traverse_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(args.handleAction)(args.receive(v.value0)))(v.value1);\n };\n if (v instanceof Halogen_Query_HalogenQ.Action) {\n return Data_Functor.voidLeft(Halogen_Query_HalogenM.functorHalogenM)(args.handleAction(v.value0))(v.value1);\n };\n if (v instanceof Halogen_Query_HalogenQ.Query) {\n return Data_Coyoneda.unCoyoneda(function (g) {\n return function ($23) {\n return Data_Functor.map(Halogen_Query_HalogenM.functorHalogenM)(Data_Maybe.maybe(v.value1(Data_Unit.unit))(g))(args.handleQuery($23));\n };\n })(v.value0);\n };\n throw new Error(\"Failed pattern match at Halogen.Component (line 170, column 15 - line 180, column 70): \" + [ v.constructor.name ]);\n };\n };\n var mkComponentSlot = Unsafe_Coerce.unsafeCoerce;\n var mkComponent = Unsafe_Coerce.unsafeCoerce;\n var defaultEval = {\n handleAction: Data_Function[\"const\"](Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit)),\n handleQuery: Data_Function[\"const\"](Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Maybe.Nothing.value)),\n receive: Data_Function[\"const\"](Data_Maybe.Nothing.value),\n initialize: Data_Maybe.Nothing.value,\n finalize: Data_Maybe.Nothing.value\n };\n var componentSlot = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (label) {\n return function (p) {\n return function (comp) {\n return function (input) {\n return function (output) {\n return mkComponentSlot({\n get: Halogen_Data_Slot.lookup(dictCons)(dictIsSymbol)(dictOrd)(label)(p),\n pop: Halogen_Data_Slot.pop(dictCons)(dictIsSymbol)(dictOrd)(label)(p),\n set: Halogen_Data_Slot.insert(dictCons)(dictIsSymbol)(dictOrd)(label)(p),\n component: comp,\n input: new Halogen_Query_HalogenQ.Receive(input, Data_Unit.unit),\n output: output\n });\n };\n };\n };\n };\n };\n };\n };\n };\n exports[\"mkComponent\"] = mkComponent;\n exports[\"unComponent\"] = unComponent;\n exports[\"mkEval\"] = mkEval;\n exports[\"defaultEval\"] = defaultEval;\n exports[\"ComponentSlot\"] = ComponentSlot;\n exports[\"ThunkSlot\"] = ThunkSlot;\n exports[\"componentSlot\"] = componentSlot;\n exports[\"mkComponentSlot\"] = mkComponentSlot;\n exports[\"unComponentSlot\"] = unComponentSlot;\n})(PS[\"Halogen.Component\"] = PS[\"Halogen.Component\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var ButtonButton = (function () {\n function ButtonButton() {\n\n };\n ButtonButton.value = new ButtonButton();\n return ButtonButton;\n })();\n var ButtonSubmit = (function () {\n function ButtonSubmit() {\n\n };\n ButtonSubmit.value = new ButtonSubmit();\n return ButtonSubmit;\n })();\n var ButtonReset = (function () {\n function ButtonReset() {\n\n };\n ButtonReset.value = new ButtonReset();\n return ButtonReset;\n })();\n var renderButtonType = function (v) {\n if (v instanceof ButtonButton) {\n return \"button\";\n };\n if (v instanceof ButtonSubmit) {\n return \"submit\";\n };\n if (v instanceof ButtonReset) {\n return \"reset\";\n };\n throw new Error(\"Failed pattern match at DOM.HTML.Indexed.ButtonType (line 9, column 20 - line 12, column 18): \" + [ v.constructor.name ]);\n };\n exports[\"ButtonButton\"] = ButtonButton;\n exports[\"ButtonSubmit\"] = ButtonSubmit;\n exports[\"ButtonReset\"] = ButtonReset;\n exports[\"renderButtonType\"] = renderButtonType;\n})(PS[\"DOM.HTML.Indexed.ButtonType\"] = PS[\"DOM.HTML.Indexed.ButtonType\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var On = (function () {\n function On() {\n\n };\n On.value = new On();\n return On;\n })();\n var Off = (function () {\n function Off() {\n\n };\n Off.value = new Off();\n return Off;\n })();\n var renderOnOff = function (v) {\n if (v instanceof On) {\n return \"on\";\n };\n if (v instanceof Off) {\n return \"off\";\n };\n throw new Error(\"Failed pattern match at DOM.HTML.Indexed.OnOff (line 8, column 15 - line 10, column 10): \" + [ v.constructor.name ]);\n };\n exports[\"On\"] = On;\n exports[\"Off\"] = Off;\n exports[\"renderOnOff\"] = renderOnOff;\n})(PS[\"DOM.HTML.Indexed.OnOff\"] = PS[\"DOM.HTML.Indexed.OnOff\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Foreign = PS[\"Foreign\"];\n var Foreign_Object = PS[\"Foreign.Object\"];\n var Halogen_VDom = PS[\"Halogen.VDom\"];\n var Halogen_VDom_Machine = PS[\"Halogen.VDom.Machine\"];\n var Halogen_VDom_Types = PS[\"Halogen.VDom.Types\"];\n var Halogen_VDom_Util = PS[\"Halogen.VDom.Util\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"]; \n var Created = (function () {\n function Created(value0) {\n this.value0 = value0;\n };\n Created.create = function (value0) {\n return new Created(value0);\n };\n return Created;\n })();\n var Removed = (function () {\n function Removed(value0) {\n this.value0 = value0;\n };\n Removed.create = function (value0) {\n return new Removed(value0);\n };\n return Removed;\n })();\n var Attribute = (function () {\n function Attribute(value0, value1, value2) {\n this.value0 = value0;\n this.value1 = value1;\n this.value2 = value2;\n };\n Attribute.create = function (value0) {\n return function (value1) {\n return function (value2) {\n return new Attribute(value0, value1, value2);\n };\n };\n };\n return Attribute;\n })();\n var Property = (function () {\n function Property(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Property.create = function (value0) {\n return function (value1) {\n return new Property(value0, value1);\n };\n };\n return Property;\n })();\n var Handler = (function () {\n function Handler(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n Handler.create = function (value0) {\n return function (value1) {\n return new Handler(value0, value1);\n };\n };\n return Handler;\n })();\n var Ref = (function () {\n function Ref(value0) {\n this.value0 = value0;\n };\n Ref.create = function (value0) {\n return new Ref(value0);\n };\n return Ref;\n })();\n var unsafeGetProperty = Halogen_VDom_Util.unsafeGetAny;\n var setProperty = Halogen_VDom_Util.unsafeSetAny;\n var removeProperty = function (key, el) {\n var v = Foreign.typeOf(Halogen_VDom_Util.unsafeGetAny(key, el));\n if (v === \"string\") {\n return Halogen_VDom_Util.unsafeSetAny(key, \"\", el);\n };\n if (key === \"rowSpan\") {\n return Halogen_VDom_Util.unsafeSetAny(key, 1, el);\n };\n if (key === \"colSpan\") {\n return Halogen_VDom_Util.unsafeSetAny(key, 1, el);\n };\n return Halogen_VDom_Util.unsafeSetAny(key, Halogen_VDom_Util.jsUndefined, el);\n };\n var propToStrKey = function (v) {\n if (v instanceof Attribute && v.value0 instanceof Data_Maybe.Just) {\n return \"attr/\" + (v.value0.value0 + (\":\" + v.value1));\n };\n if (v instanceof Attribute) {\n return \"attr/:\" + v.value1;\n };\n if (v instanceof Property) {\n return \"prop/\" + v.value0;\n };\n if (v instanceof Handler) {\n return \"handler/\" + v.value0;\n };\n if (v instanceof Ref) {\n return \"ref\";\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM.Prop (line 182, column 16 - line 189, column 1): \" + [ v.constructor.name ]);\n };\n var propFromString = Unsafe_Coerce.unsafeCoerce;\n var propFromInt = Unsafe_Coerce.unsafeCoerce;\n var propFromBoolean = Unsafe_Coerce.unsafeCoerce;\n var buildProp = function (emit) {\n return function (el) {\n var removeProp = function (prevEvents) {\n return function (v, v1) {\n if (v1 instanceof Attribute) {\n return Halogen_VDom_Util.removeAttribute(Data_Nullable.toNullable(v1.value0), v1.value1, el);\n };\n if (v1 instanceof Property) {\n return removeProperty(v1.value0, el);\n };\n if (v1 instanceof Handler) {\n var handler = Halogen_VDom_Util.unsafeLookup(v1.value0, prevEvents);\n return Halogen_VDom_Util.removeEventListener(v1.value0, Data_Tuple.fst(handler), el);\n };\n if (v1 instanceof Ref) {\n return Data_Unit.unit;\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM.Prop (line 169, column 5 - line 179, column 18): \" + [ v1.constructor.name ]);\n };\n };\n var mbEmit = function (v) {\n if (v instanceof Data_Maybe.Just) {\n return emit(v.value0)();\n };\n return Data_Unit.unit;\n };\n var haltProp = function (state) {\n var v = Foreign_Object.lookup(\"ref\")(state.props);\n if (v instanceof Data_Maybe.Just && v.value0 instanceof Ref) {\n return mbEmit(v.value0.value0(new Removed(el)));\n };\n return Data_Unit.unit;\n };\n var diffProp = function (prevEvents, events) {\n return function (v, v1, v11, v2) {\n if (v11 instanceof Attribute && v2 instanceof Attribute) {\n var $61 = v11.value2 === v2.value2;\n if ($61) {\n return v2;\n };\n Halogen_VDom_Util.setAttribute(Data_Nullable.toNullable(v2.value0), v2.value1, v2.value2, el);\n return v2;\n };\n if (v11 instanceof Property && v2 instanceof Property) {\n var v4 = Halogen_VDom_Util.refEq(v11.value1, v2.value1);\n if (v4) {\n return v2;\n };\n if (v2.value0 === \"value\") {\n var elVal = unsafeGetProperty(\"value\", el);\n var $70 = Halogen_VDom_Util.refEq(elVal, v2.value1);\n if ($70) {\n return v2;\n };\n setProperty(v2.value0, v2.value1, el);\n return v2;\n };\n setProperty(v2.value0, v2.value1, el);\n return v2;\n };\n if (v11 instanceof Handler && v2 instanceof Handler) {\n var handler = Halogen_VDom_Util.unsafeLookup(v2.value0, prevEvents);\n Effect_Ref.write(v2.value1)(Data_Tuple.snd(handler))();\n Halogen_VDom_Util.pokeMutMap(v2.value0, handler, events);\n return v2;\n };\n return v2;\n };\n };\n var applyProp = function (events) {\n return function (v, v1, v2) {\n if (v2 instanceof Attribute) {\n Halogen_VDom_Util.setAttribute(Data_Nullable.toNullable(v2.value0), v2.value1, v2.value2, el);\n return v2;\n };\n if (v2 instanceof Property) {\n setProperty(v2.value0, v2.value1, el);\n return v2;\n };\n if (v2 instanceof Handler) {\n var v3 = Halogen_VDom_Util.unsafeGetAny(v2.value0, events);\n if (Halogen_VDom_Util.unsafeHasAny(v2.value0, events)) {\n Effect_Ref.write(v2.value1)(Data_Tuple.snd(v3))();\n return v2;\n };\n var v4 = Effect_Ref[\"new\"](v2.value1)();\n var v5 = Web_Event_EventTarget.eventListener(function (ev) {\n return function __do() {\n var v5 = Effect_Ref.read(v4)();\n return mbEmit(v5(ev));\n };\n })();\n Halogen_VDom_Util.pokeMutMap(v2.value0, new Data_Tuple.Tuple(v5, v4), events);\n Halogen_VDom_Util.addEventListener(v2.value0, v5, el);\n return v2;\n };\n if (v2 instanceof Ref) {\n mbEmit(v2.value0(new Created(el)));\n return v2;\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.DOM.Prop (line 113, column 5 - line 135, column 15): \" + [ v2.constructor.name ]);\n };\n };\n var patchProp = function (state, ps2) {\n var v = Halogen_VDom_Util.newMutMap();\n var onThis = removeProp(state.events);\n var onThese = diffProp(state.events, v);\n var onThat = applyProp(v);\n var v1 = Halogen_VDom_Util.diffWithKeyAndIxE(state.props, ps2, propToStrKey, onThese, onThis, onThat);\n var nextState = {\n events: Halogen_VDom_Util.unsafeFreeze(v),\n props: v1\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Data_Unit.unit, nextState, patchProp, haltProp));\n };\n var renderProp = function (ps1) {\n var v = Halogen_VDom_Util.newMutMap();\n var v1 = Halogen_VDom_Util.strMapWithIxE(ps1, propToStrKey, applyProp(v));\n var state = {\n events: Halogen_VDom_Util.unsafeFreeze(v),\n props: v1\n };\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Data_Unit.unit, state, patchProp, haltProp));\n };\n return renderProp;\n };\n };\n exports[\"Attribute\"] = Attribute;\n exports[\"Property\"] = Property;\n exports[\"Handler\"] = Handler;\n exports[\"Ref\"] = Ref;\n exports[\"Created\"] = Created;\n exports[\"Removed\"] = Removed;\n exports[\"propFromString\"] = propFromString;\n exports[\"propFromBoolean\"] = propFromBoolean;\n exports[\"propFromInt\"] = propFromInt;\n exports[\"buildProp\"] = buildProp;\n})(PS[\"Halogen.VDom.DOM.Prop\"] = PS[\"Halogen.VDom.DOM.Prop\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed_ButtonType = PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_CrossOriginValue = PS[\"DOM.HTML.Indexed.CrossOriginValue\"];\n var DOM_HTML_Indexed_DirValue = PS[\"DOM.HTML.Indexed.DirValue\"];\n var DOM_HTML_Indexed_FormMethod = PS[\"DOM.HTML.Indexed.FormMethod\"];\n var DOM_HTML_Indexed_InputAcceptType = PS[\"DOM.HTML.Indexed.InputAcceptType\"];\n var DOM_HTML_Indexed_InputType = PS[\"DOM.HTML.Indexed.InputType\"];\n var DOM_HTML_Indexed_KindValue = PS[\"DOM.HTML.Indexed.KindValue\"];\n var DOM_HTML_Indexed_MenuType = PS[\"DOM.HTML.Indexed.MenuType\"];\n var DOM_HTML_Indexed_MenuitemType = PS[\"DOM.HTML.Indexed.MenuitemType\"];\n var DOM_HTML_Indexed_OnOff = PS[\"DOM.HTML.Indexed.OnOff\"];\n var DOM_HTML_Indexed_OrderedListType = PS[\"DOM.HTML.Indexed.OrderedListType\"];\n var DOM_HTML_Indexed_PreloadValue = PS[\"DOM.HTML.Indexed.PreloadValue\"];\n var DOM_HTML_Indexed_ScopeValue = PS[\"DOM.HTML.Indexed.ScopeValue\"];\n var DOM_HTML_Indexed_StepValue = PS[\"DOM.HTML.Indexed.StepValue\"];\n var DOM_HTML_Indexed_WrapValue = PS[\"DOM.HTML.Indexed.WrapValue\"];\n var Data_Bifunctor = PS[\"Data.Bifunctor\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_MediaType = PS[\"Data.MediaType\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Halogen_Query_Input = PS[\"Halogen.Query.Input\"];\n var Halogen_VDom = PS[\"Halogen.VDom\"];\n var Halogen_VDom_DOM_Prop = PS[\"Halogen.VDom.DOM.Prop\"];\n var Halogen_VDom_Types = PS[\"Halogen.VDom.Types\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var HTML = function (x) {\n return x;\n };\n var ClassName = function (x) {\n return x;\n };\n var IsProp = function (toPropValue) {\n this.toPropValue = toPropValue;\n };\n var toPropValue = function (dict) {\n return dict.toPropValue;\n };\n var text = function ($26) {\n return HTML(Halogen_VDom_Types.Text.create($26));\n };\n var slot = function ($27) {\n return HTML(Halogen_VDom_Types.Widget.create($27));\n }; \n var ref = function (f) {\n return Halogen_VDom_DOM_Prop.Ref.create(function ($28) {\n return f((function (v) {\n if (v instanceof Halogen_VDom_DOM_Prop.Created) {\n return new Data_Maybe.Just(v.value0);\n };\n if (v instanceof Halogen_VDom_DOM_Prop.Removed) {\n return Data_Maybe.Nothing.value;\n };\n throw new Error(\"Failed pattern match at Halogen.HTML.Core (line 100, column 21 - line 102, column 23): \" + [ v.constructor.name ]);\n })($28));\n });\n };\n var prop = function (dictIsProp) {\n return function (v) {\n return function ($29) {\n return Halogen_VDom_DOM_Prop.Property.create(v)(toPropValue(dictIsProp)($29));\n };\n };\n }; \n var newtypeHTML = new Data_Newtype.Newtype(function (n) {\n return n;\n }, HTML);\n var newtypeClassName = new Data_Newtype.Newtype(function (n) {\n return n;\n }, ClassName);\n var isPropString = new IsProp(Halogen_VDom_DOM_Prop.propFromString);\n var isPropOnOff = new IsProp(function ($35) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_OnOff.renderOnOff($35));\n });\n var isPropInt = new IsProp(Halogen_VDom_DOM_Prop.propFromInt);\n var isPropInputType = new IsProp(function ($40) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_InputType.renderInputType($40));\n });\n var isPropButtonType = new IsProp(function ($45) {\n return Halogen_VDom_DOM_Prop.propFromString(DOM_HTML_Indexed_ButtonType.renderButtonType($45));\n });\n var isPropBoolean = new IsProp(Halogen_VDom_DOM_Prop.propFromBoolean);\n var handler = Halogen_VDom_DOM_Prop.Handler.create;\n var element = function (ns) {\n return function (name) {\n return function (props) {\n return function (children) {\n return new Halogen_VDom_Types.Elem(ns, name, props, children);\n };\n };\n };\n }; \n var attr = function (ns) {\n return function (v) {\n return Halogen_VDom_DOM_Prop.Attribute.create(ns)(v);\n };\n };\n exports[\"HTML\"] = HTML;\n exports[\"slot\"] = slot;\n exports[\"text\"] = text;\n exports[\"element\"] = element;\n exports[\"prop\"] = prop;\n exports[\"attr\"] = attr;\n exports[\"handler\"] = handler;\n exports[\"ref\"] = ref;\n exports[\"IsProp\"] = IsProp;\n exports[\"toPropValue\"] = toPropValue;\n exports[\"ClassName\"] = ClassName;\n exports[\"newtypeHTML\"] = newtypeHTML;\n exports[\"isPropString\"] = isPropString;\n exports[\"isPropInt\"] = isPropInt;\n exports[\"isPropBoolean\"] = isPropBoolean;\n exports[\"isPropButtonType\"] = isPropButtonType;\n exports[\"isPropInputType\"] = isPropInputType;\n exports[\"isPropOnOff\"] = isPropOnOff;\n exports[\"newtypeClassName\"] = newtypeClassName;\n})(PS[\"Halogen.HTML.Core\"] = PS[\"Halogen.HTML.Core\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed = PS[\"DOM.HTML.Indexed\"];\n var DOM_HTML_Indexed_ButtonType = PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_FormMethod = PS[\"DOM.HTML.Indexed.FormMethod\"];\n var DOM_HTML_Indexed_InputAcceptType = PS[\"DOM.HTML.Indexed.InputAcceptType\"];\n var DOM_HTML_Indexed_InputType = PS[\"DOM.HTML.Indexed.InputType\"];\n var DOM_HTML_Indexed_MenuType = PS[\"DOM.HTML.Indexed.MenuType\"];\n var DOM_HTML_Indexed_MenuitemType = PS[\"DOM.HTML.Indexed.MenuitemType\"];\n var DOM_HTML_Indexed_OnOff = PS[\"DOM.HTML.Indexed.OnOff\"];\n var DOM_HTML_Indexed_OrderedListType = PS[\"DOM.HTML.Indexed.OrderedListType\"];\n var DOM_HTML_Indexed_PreloadValue = PS[\"DOM.HTML.Indexed.PreloadValue\"];\n var DOM_HTML_Indexed_StepValue = PS[\"DOM.HTML.Indexed.StepValue\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_MediaType = PS[\"Data.MediaType\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_Query_Input = PS[\"Halogen.Query.Input\"];\n var Halogen_VDom_DOM_Prop = PS[\"Halogen.VDom.DOM.Prop\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var ref = (function () {\n var go = function (p) {\n return function (mel) {\n return new Data_Maybe.Just(new Halogen_Query_Input.RefUpdate(p, mel));\n };\n };\n return function ($10) {\n return Halogen_HTML_Core.ref(go($10));\n };\n })();\n var prop = function (dictIsProp) {\n return Halogen_HTML_Core.prop(dictIsProp);\n }; \n var required = prop(Halogen_HTML_Core.isPropBoolean)(\"required\");\n var rows = prop(Halogen_HTML_Core.isPropInt)(\"rows\"); \n var target = prop(Halogen_HTML_Core.isPropString)(\"target\");\n var title = prop(Halogen_HTML_Core.isPropString)(\"title\");\n var type_ = function (dictIsProp) {\n return prop(dictIsProp)(\"type\");\n };\n var value = prop(Halogen_HTML_Core.isPropString)(\"value\");\n var name = prop(Halogen_HTML_Core.isPropString)(\"name\"); \n var id_ = prop(Halogen_HTML_Core.isPropString)(\"id\");\n var href = prop(Halogen_HTML_Core.isPropString)(\"href\");\n var $$for = prop(Halogen_HTML_Core.isPropString)(\"htmlFor\");\n var class_ = function ($13) {\n return prop(Halogen_HTML_Core.isPropString)(\"className\")(Data_Newtype.unwrap(Halogen_HTML_Core.newtypeClassName)($13));\n };\n var checked = prop(Halogen_HTML_Core.isPropBoolean)(\"checked\"); \n var autofocus = prop(Halogen_HTML_Core.isPropBoolean)(\"autofocus\");\n var autocomplete = function ($14) {\n return prop(Halogen_HTML_Core.isPropOnOff)(\"autocomplete\")((function (b) {\n if (b) {\n return DOM_HTML_Indexed_OnOff.On.value;\n };\n return DOM_HTML_Indexed_OnOff.Off.value;\n })($14));\n };\n var attr = Halogen_HTML_Core.attr(Data_Maybe.Nothing.value);\n exports[\"prop\"] = prop;\n exports[\"attr\"] = attr;\n exports[\"ref\"] = ref;\n exports[\"class_\"] = class_;\n exports[\"rows\"] = rows;\n exports[\"for\"] = $$for;\n exports[\"href\"] = href;\n exports[\"id_\"] = id_;\n exports[\"name\"] = name;\n exports[\"target\"] = target;\n exports[\"title\"] = title;\n exports[\"type_\"] = type_;\n exports[\"value\"] = value;\n exports[\"required\"] = required;\n exports[\"checked\"] = checked;\n exports[\"autocomplete\"] = autocomplete;\n exports[\"autofocus\"] = autofocus;\n})(PS[\"Halogen.HTML.Properties\"] = PS[\"Halogen.HTML.Properties\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed = PS[\"DOM.HTML.Indexed\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_Input = PS[\"Halogen.Query.Input\"];\n var Halogen_VDom = PS[\"Halogen.VDom\"];\n var Halogen_VDom_Types = PS[\"Halogen.VDom.Types\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var element = Halogen_HTML_Core.element(Data_Maybe.Nothing.value);\n var form = element(\"form\");\n var input = function (props) {\n return element(\"input\")(props)([ ]);\n }; \n var label = element(\"label\");\n var p = element(\"p\");\n var span = element(\"span\");\n var table = element(\"table\");\n var tbody = element(\"tbody\");\n var tbody_ = tbody([ ]);\n var td = element(\"td\");\n var td_ = td([ ]);\n var textarea = function (es) {\n return element(\"textarea\")(es)([ ]);\n }; \n var tr = element(\"tr\");\n var tr_ = tr([ ]);\n var div = element(\"div\");\n var div_ = div([ ]);\n var button = element(\"button\");\n var br = function (props) {\n return element(\"br\")(props)([ ]);\n };\n var br_ = br([ ]); \n var a = element(\"a\");\n exports[\"element\"] = element;\n exports[\"a\"] = a;\n exports[\"br\"] = br;\n exports[\"br_\"] = br_;\n exports[\"button\"] = button;\n exports[\"div\"] = div;\n exports[\"div_\"] = div_;\n exports[\"form\"] = form;\n exports[\"input\"] = input;\n exports[\"label\"] = label;\n exports[\"p\"] = p;\n exports[\"span\"] = span;\n exports[\"table\"] = table;\n exports[\"tbody\"] = tbody;\n exports[\"tbody_\"] = tbody_;\n exports[\"td\"] = td;\n exports[\"td_\"] = td_;\n exports[\"textarea\"] = textarea;\n exports[\"tr\"] = tr;\n exports[\"tr_\"] = tr_;\n})(PS[\"Halogen.HTML.Elements\"] = PS[\"Halogen.HTML.Elements\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Data_Function_Uncurried = PS[\"Data.Function.Uncurried\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_Data_Slot = PS[\"Halogen.Data.Slot\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_VDom_Thunk = PS[\"Halogen.VDom.Thunk\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"]; \n var slot = function (dictCons) {\n return function (dictIsSymbol) {\n return function (dictOrd) {\n return function (label) {\n return function (p) {\n return function (component) {\n return function (input) {\n return function (outputQuery) {\n return Halogen_HTML_Core.slot(new Halogen_Component.ComponentSlot(Halogen_Component.componentSlot(dictCons)(dictIsSymbol)(dictOrd)(label)(p)(component)(input)(outputQuery)));\n };\n };\n };\n };\n };\n };\n };\n };\n exports[\"slot\"] = slot;\n})(PS[\"Halogen.HTML\"] = PS[\"Halogen.HTML\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var change = \"change\";\n exports[\"change\"] = change;\n})(PS[\"Web.HTML.Event.EventTypes\"] = PS[\"Web.HTML.Event.EventTypes\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var click = \"click\";\n exports[\"click\"] = click;\n})(PS[\"Web.UIEvent.MouseEvent.EventTypes\"] = PS[\"Web.UIEvent.MouseEvent.EventTypes\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Except = PS[\"Control.Monad.Except\"];\n var Control_Monad_Except_Trans = PS[\"Control.Monad.Except.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Identity = PS[\"Data.Identity\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Foreign = PS[\"Foreign\"];\n var Foreign_Index = PS[\"Foreign.Index\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_Input = PS[\"Halogen.Query.Input\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_Clipboard_ClipboardEvent = PS[\"Web.Clipboard.ClipboardEvent\"];\n var Web_Clipboard_ClipboardEvent_EventTypes = PS[\"Web.Clipboard.ClipboardEvent.EventTypes\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_HTML_Event_DragEvent = PS[\"Web.HTML.Event.DragEvent\"];\n var Web_HTML_Event_DragEvent_EventTypes = PS[\"Web.HTML.Event.DragEvent.EventTypes\"];\n var Web_HTML_Event_EventTypes = PS[\"Web.HTML.Event.EventTypes\"];\n var Web_TouchEvent_TouchEvent = PS[\"Web.TouchEvent.TouchEvent\"];\n var Web_UIEvent_FocusEvent = PS[\"Web.UIEvent.FocusEvent\"];\n var Web_UIEvent_FocusEvent_EventTypes = PS[\"Web.UIEvent.FocusEvent.EventTypes\"];\n var Web_UIEvent_KeyboardEvent = PS[\"Web.UIEvent.KeyboardEvent\"];\n var Web_UIEvent_KeyboardEvent_EventTypes = PS[\"Web.UIEvent.KeyboardEvent.EventTypes\"];\n var Web_UIEvent_MouseEvent = PS[\"Web.UIEvent.MouseEvent\"];\n var Web_UIEvent_MouseEvent_EventTypes = PS[\"Web.UIEvent.MouseEvent.EventTypes\"];\n var Web_UIEvent_WheelEvent = PS[\"Web.UIEvent.WheelEvent\"];\n var Web_UIEvent_WheelEvent_EventTypes = PS[\"Web.UIEvent.WheelEvent.EventTypes\"];\n var mouseHandler = Unsafe_Coerce.unsafeCoerce;\n var handler = function (et) {\n return function ($0) {\n return Halogen_HTML_Core.handler(et)(Data_Functor.map(Data_Functor.functorFn)(Data_Functor.map(Data_Maybe.functorMaybe)(Halogen_Query_Input.Action.create))($0));\n };\n }; \n var onClick = function ($1) {\n return handler(Web_UIEvent_MouseEvent_EventTypes.click)(mouseHandler($1));\n }; \n var onSubmit = handler(\"submit\");\n var addForeignPropHandler = function (key) {\n return function (prop) {\n return function (reader) {\n return function (f) {\n var go = function (a) {\n return Control_Bind.composeKleisliFlipped(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(reader)(Foreign_Index.readProp(prop))(Foreign.unsafeToForeign(a));\n };\n return handler(key)(Control_Bind.composeKleisli(Data_Maybe.bindMaybe)(Web_Event_Event.currentTarget)(function (e) {\n return Data_Either.either(Data_Function[\"const\"](Data_Maybe.Nothing.value))(f)(Control_Monad_Except.runExcept(go(e)));\n }));\n };\n };\n };\n };\n var onChecked = addForeignPropHandler(Web_HTML_Event_EventTypes.change)(\"checked\")(Foreign.readBoolean); \n var onValueChange = addForeignPropHandler(Web_HTML_Event_EventTypes.change)(\"value\")(Foreign.readString);\n exports[\"handler\"] = handler;\n exports[\"onSubmit\"] = onSubmit;\n exports[\"onClick\"] = onClick;\n exports[\"onValueChange\"] = onValueChange;\n exports[\"onChecked\"] = onChecked;\n})(PS[\"Halogen.HTML.Events\"] = PS[\"Halogen.HTML.Events\"] || {});\n(function(exports) {\n \"use strict\";\n /* global Symbol */\n\n var hasArrayFrom = typeof Array.from === \"function\";\n var hasStringIterator =\n typeof Symbol !== \"undefined\" &&\n Symbol != null &&\n typeof Symbol.iterator !== \"undefined\" &&\n typeof String.prototype[Symbol.iterator] === \"function\";\n var hasFromCodePoint = typeof String.prototype.fromCodePoint === \"function\";\n var hasCodePointAt = typeof String.prototype.codePointAt === \"function\";\n\n exports._unsafeCodePointAt0 = function (fallback) {\n return hasCodePointAt\n ? function (str) { return str.codePointAt(0); }\n : fallback;\n };\n\n exports._singleton = function (fallback) {\n return hasFromCodePoint ? String.fromCodePoint : fallback;\n };\n\n exports._take = function (fallback) {\n return function (n) {\n if (hasStringIterator) {\n return function (str) {\n var accum = \"\";\n var iter = str[Symbol.iterator]();\n for (var i = 0; i < n; ++i) {\n var o = iter.next();\n if (o.done) return accum;\n accum += o.value;\n }\n return accum;\n };\n }\n return fallback(n);\n };\n };\n\n exports._toCodePointArray = function (fallback) {\n return function (unsafeCodePointAt0) {\n if (hasArrayFrom) {\n return function (str) {\n return Array.from(str, unsafeCodePointAt0);\n };\n }\n return fallback;\n };\n };\n})(PS[\"Data.String.CodePoints\"] = PS[\"Data.String.CodePoints\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Data.String.CodePoints\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Bounded = PS[\"Data.Bounded\"];\n var Data_Enum = PS[\"Data.Enum\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_EuclideanRing = PS[\"Data.EuclideanRing\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Int = PS[\"Data.Int\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Ring = PS[\"Data.Ring\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String_CodeUnits = PS[\"Data.String.CodeUnits\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_String_Unsafe = PS[\"Data.String.Unsafe\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unfoldable = PS[\"Data.Unfoldable\"];\n var Prelude = PS[\"Prelude\"];\n var unsurrogate = function (lead) {\n return function (trail) {\n return (((lead - 55296 | 0) * 1024 | 0) + (trail - 56320 | 0) | 0) + 65536 | 0;\n };\n }; \n var isTrail = function (cu) {\n return 56320 <= cu && cu <= 57343;\n };\n var isLead = function (cu) {\n return 55296 <= cu && cu <= 56319;\n };\n var uncons = function (s) {\n var v = Data_String_CodeUnits.length(s);\n if (v === 0) {\n return Data_Maybe.Nothing.value;\n };\n if (v === 1) {\n return new Data_Maybe.Just({\n head: Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s)),\n tail: \"\"\n });\n };\n var cu1 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(1)(s));\n var cu0 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s));\n var $21 = isLead(cu0) && isTrail(cu1);\n if ($21) {\n return new Data_Maybe.Just({\n head: unsurrogate(cu0)(cu1),\n tail: Data_String_CodeUnits.drop(2)(s)\n });\n };\n return new Data_Maybe.Just({\n head: cu0,\n tail: Data_String_CodeUnits.drop(1)(s)\n });\n };\n var unconsButWithTuple = function (s) {\n return Data_Functor.map(Data_Maybe.functorMaybe)(function (v) {\n return new Data_Tuple.Tuple(v.head, v.tail);\n })(uncons(s));\n };\n var toCodePointArrayFallback = function (s) {\n return Data_Unfoldable.unfoldr(Data_Unfoldable.unfoldableArray)(unconsButWithTuple)(s);\n };\n var unsafeCodePointAt0Fallback = function (s) {\n var cu0 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(0)(s));\n var $25 = isLead(cu0) && Data_String_CodeUnits.length(s) > 1;\n if ($25) {\n var cu1 = Data_Enum.fromEnum(Data_Enum.boundedEnumChar)(Data_String_Unsafe.charAt(1)(s));\n var $26 = isTrail(cu1);\n if ($26) {\n return unsurrogate(cu0)(cu1);\n };\n return cu0;\n };\n return cu0;\n };\n var unsafeCodePointAt0 = $foreign[\"_unsafeCodePointAt0\"](unsafeCodePointAt0Fallback);\n var toCodePointArray = $foreign[\"_toCodePointArray\"](toCodePointArrayFallback)(unsafeCodePointAt0);\n var length = function ($52) {\n return Data_Array.length(toCodePointArray($52));\n };\n var fromCharCode = function ($53) {\n return Data_String_CodeUnits.singleton(Data_Enum.toEnumWithDefaults(Data_Enum.boundedEnumChar)(Data_Bounded.bottom(Data_Bounded.boundedChar))(Data_Bounded.top(Data_Bounded.boundedChar))($53));\n };\n var singletonFallback = function (v) {\n if (v <= 65535) {\n return fromCharCode(v);\n };\n var lead = Data_EuclideanRing.div(Data_EuclideanRing.euclideanRingInt)(v - 65536 | 0)(1024) + 55296 | 0;\n var trail = Data_EuclideanRing.mod(Data_EuclideanRing.euclideanRingInt)(v - 65536 | 0)(1024) + 56320 | 0;\n return fromCharCode(lead) + fromCharCode(trail);\n }; \n var singleton = $foreign[\"_singleton\"](singletonFallback);\n var takeFallback = function (n) {\n return function (v) {\n if (n < 1) {\n return \"\";\n };\n var v1 = uncons(v);\n if (v1 instanceof Data_Maybe.Just) {\n return singleton(v1.value0.head) + takeFallback(n - 1 | 0)(v1.value0.tail);\n };\n return v;\n };\n };\n var take = $foreign[\"_take\"](takeFallback);\n var drop = function (n) {\n return function (s) {\n return Data_String_CodeUnits.drop(Data_String_CodeUnits.length(take(n)(s)))(s);\n };\n };\n exports[\"singleton\"] = singleton;\n exports[\"toCodePointArray\"] = toCodePointArray;\n exports[\"uncons\"] = uncons;\n exports[\"length\"] = length;\n exports[\"take\"] = take;\n exports[\"drop\"] = drop;\n})(PS[\"Data.String.CodePoints\"] = PS[\"Data.String.CodePoints\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Maybe_Trans = PS[\"Control.Monad.Maybe.Trans\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_CodePoints = PS[\"Data.String.CodePoints\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Global_Unsafe = PS[\"Global.Unsafe\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Partial_Unsafe = PS[\"Partial.Unsafe\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM = PS[\"Web.DOM\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_NodeList = PS[\"Web.DOM.NodeList\"];\n var Web_DOM_NonElementParentNode = PS[\"Web.DOM.NonElementParentNode\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_HTML = PS[\"Web.HTML\"];\n var Web_HTML_HTMLDocument = PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_Location = PS[\"Web.HTML.Location\"];\n var Web_HTML_Window = PS[\"Web.HTML.Window\"];\n var fromNullableStr = function ($57) {\n return Data_Maybe.fromMaybe(\"\")(Data_Nullable.toMaybe($57));\n };\n var class_ = function ($58) {\n return Halogen_HTML_Properties.class_(Halogen_HTML_Core.ClassName($58));\n };\n var attr = function (a) {\n return Halogen_HTML_Properties.attr(a);\n };\n var _parseQueryString = function (srh) {\n var decode = function ($59) {\n return Global_Unsafe.unsafeDecodeURIComponent(Data_String_Common.replaceAll(\"+\")(\" \")($59));\n };\n var go = function (kv) {\n var v = Data_String_Common.split(\"=\")(kv);\n if (v.length === 1) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(decode(v[0]), Data_Maybe.Nothing.value));\n };\n if (v.length === 2) {\n return new Data_Maybe.Just(new Data_Tuple.Tuple(decode(v[0]), new Data_Maybe.Just(decode(v[1]))));\n };\n return Data_Maybe.Nothing.value;\n };\n var qs = (function () {\n var srh$prime = Data_String_CodePoints.take(1)(srh);\n var $54 = srh$prime === \"#\" || srh$prime === \"?\";\n if ($54) {\n return Data_String_CodePoints.drop(1)(srh);\n };\n return srh;\n })();\n return Data_Array.mapMaybe(go)(Data_Array.filter(function (v) {\n return v !== \"\";\n })(Data_String_Common.split(\"&\")(qs)));\n }; \n var _lookupQueryStringValue = function (qs) {\n return function (k) {\n return Control_Bind.join(Data_Maybe.bindMaybe)(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Tuple.snd)(Data_Foldable.find(Data_Foldable.foldableArray)(function ($61) {\n return (function (v) {\n return v === k;\n })(Data_Tuple.fst($61));\n })(qs)));\n };\n };\n var _loc = Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Window.location)(Web_HTML.window);\n var _curQuerystring = function __do() {\n var v = _loc();\n var v1 = Web_HTML_Location.search(v)();\n return _parseQueryString(v1);\n };\n exports[\"class_\"] = class_;\n exports[\"attr\"] = attr;\n exports[\"_loc\"] = _loc;\n exports[\"_curQuerystring\"] = _curQuerystring;\n exports[\"_parseQueryString\"] = _parseQueryString;\n exports[\"_lookupQueryStringValue\"] = _lookupQueryStringValue;\n exports[\"fromNullableStr\"] = fromNullableStr;\n})(PS[\"Util\"] = PS[\"Util\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var App = PS[\"App\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed_InputType = PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Lens = PS[\"Data.Lens\"];\n var Data_Lens_Getter = PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = PS[\"Data.Lens.Setter\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Globals = PS[\"Globals\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Util = PS[\"Util\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"]; \n var EarchiveDefault = (function () {\n function EarchiveDefault(value0) {\n this.value0 = value0;\n };\n EarchiveDefault.create = function (value0) {\n return new EarchiveDefault(value0);\n };\n return EarchiveDefault;\n })();\n var EprivateDefault = (function () {\n function EprivateDefault(value0) {\n this.value0 = value0;\n };\n EprivateDefault.create = function (value0) {\n return new EprivateDefault(value0);\n };\n return EprivateDefault;\n })();\n var EprivacyLock = (function () {\n function EprivacyLock(value0) {\n this.value0 = value0;\n };\n EprivacyLock.create = function (value0) {\n return new EprivacyLock(value0);\n };\n return EprivacyLock;\n })();\n var UEditField = (function () {\n function UEditField(value0) {\n this.value0 = value0;\n };\n UEditField.create = function (value0) {\n return new UEditField(value0);\n };\n return UEditField;\n })();\n var USubmit = (function () {\n function USubmit(value0) {\n this.value0 = value0;\n };\n USubmit.create = function (value0) {\n return new USubmit(value0);\n };\n return USubmit;\n })();\n var _us = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.us;\n })(function (v) {\n return function (v1) {\n return {\n us: v1\n };\n };\n })(dictStrong);\n };\n var usetting = function (u$prime) {\n var render = function (v) {\n var editField = function (f) {\n return function ($23) {\n return Data_Maybe.Just.create(UEditField.create(f($23)));\n };\n };\n return Halogen_HTML_Elements.div([ Util.class_(\"settings-form\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"fw7 mb2\") ])([ Halogen_HTML_Core.text(\"Account Settings\") ]), Halogen_HTML_Elements.div([ Util.class_(\"flex items-center mb2\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"pointer mr2\"), Halogen_HTML_Properties.id_(\"archiveDefault\"), Halogen_HTML_Properties.name(\"archiveDefault\"), Halogen_HTML_Properties.checked(v.us.archiveDefault), Halogen_HTML_Events.onChecked(editField(EarchiveDefault.create)) ]), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"archiveDefault\"), Util.class_(\"lh-copy\") ])([ Halogen_HTML_Core.text(\"Archive Non-Private Bookmarks (archive.li)\") ]) ]), Halogen_HTML_Elements.div([ Util.class_(\"flex items-center mb2\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"pointer mr2\"), Halogen_HTML_Properties.id_(\"privateDefault\"), Halogen_HTML_Properties.name(\"privateDefault\"), Halogen_HTML_Properties.checked(v.us.privateDefault), Halogen_HTML_Events.onChecked(editField(EprivateDefault.create)) ]), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"privateDefault\"), Util.class_(\"lh-copy\") ])([ Halogen_HTML_Core.text(\"Default new bookmarks to Private\") ]) ]), Halogen_HTML_Elements.div([ Util.class_(\"flex items-center mb2\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"pointer mr2\"), Halogen_HTML_Properties.id_(\"privacyLock\"), Halogen_HTML_Properties.name(\"privacyLock\"), Halogen_HTML_Properties.checked(v.us.privacyLock), Halogen_HTML_Events.onChecked(editField(EprivacyLock.create)) ]), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"privacyLock\"), Util.class_(\"lh-copy\") ])([ Halogen_HTML_Core.text(\"Privacy Lock (Private Account)\") ]) ]) ]);\n };\n var mkState = function (u) {\n return {\n us: u\n };\n };\n var handleAction = function (v) {\n if (v instanceof UEditField) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_us(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof EarchiveDefault) {\n return function (v1) {\n return {\n archiveDefault: v.value0.value0,\n privateDefault: v1.privateDefault,\n privacyLock: v1.privacyLock\n };\n };\n };\n if (v.value0 instanceof EprivateDefault) {\n return function (v1) {\n return {\n archiveDefault: v1.archiveDefault,\n privateDefault: v.value0.value0,\n privacyLock: v1.privacyLock\n };\n };\n };\n if (v.value0 instanceof EprivacyLock) {\n return function (v1) {\n return {\n archiveDefault: v1.archiveDefault,\n privateDefault: v1.privateDefault,\n privacyLock: v.value0.value0\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.AccountSettings (line 80, column 12 - line 83, column 46): \" + [ v.value0.constructor.name ]);\n })()))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_us(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editAccountSettings(v1)));\n });\n });\n };\n if (v instanceof USubmit) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_us(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editAccountSettings(v1)));\n });\n };\n throw new Error(\"Failed pattern match at Component.AccountSettings (line 78, column 3 - line 78, column 69): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(u$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"_us\"] = _us;\n exports[\"UEditField\"] = UEditField;\n exports[\"USubmit\"] = USubmit;\n exports[\"EarchiveDefault\"] = EarchiveDefault;\n exports[\"EprivateDefault\"] = EprivateDefault;\n exports[\"EprivacyLock\"] = EprivacyLock;\n exports[\"usetting\"] = usetting;\n})(PS[\"Component.AccountSettings\"] = PS[\"Component.AccountSettings\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var App = PS[\"App\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed_ButtonType = PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Lens = PS[\"Data.Lens\"];\n var Data_Lens_Getter = PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = PS[\"Data.Lens.Setter\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Globals = PS[\"Globals\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Util = PS[\"Util\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_HTML = PS[\"Web.HTML\"];\n var Web_HTML_Location = PS[\"Web.HTML.Location\"]; \n var Eurl = (function () {\n function Eurl(value0) {\n this.value0 = value0;\n };\n Eurl.create = function (value0) {\n return new Eurl(value0);\n };\n return Eurl;\n })();\n var Etitle = (function () {\n function Etitle(value0) {\n this.value0 = value0;\n };\n Etitle.create = function (value0) {\n return new Etitle(value0);\n };\n return Etitle;\n })();\n var Edescription = (function () {\n function Edescription(value0) {\n this.value0 = value0;\n };\n Edescription.create = function (value0) {\n return new Edescription(value0);\n };\n return Edescription;\n })();\n var Etags = (function () {\n function Etags(value0) {\n this.value0 = value0;\n };\n Etags.create = function (value0) {\n return new Etags(value0);\n };\n return Etags;\n })();\n var Eprivate = (function () {\n function Eprivate(value0) {\n this.value0 = value0;\n };\n Eprivate.create = function (value0) {\n return new Eprivate(value0);\n };\n return Eprivate;\n })();\n var Etoread = (function () {\n function Etoread(value0) {\n this.value0 = value0;\n };\n Etoread.create = function (value0) {\n return new Etoread(value0);\n };\n return Etoread;\n })();\n var BEditField = (function () {\n function BEditField(value0) {\n this.value0 = value0;\n };\n BEditField.create = function (value0) {\n return new BEditField(value0);\n };\n return BEditField;\n })();\n var BEditSubmit = (function () {\n function BEditSubmit(value0) {\n this.value0 = value0;\n };\n BEditSubmit.create = function (value0) {\n return new BEditSubmit(value0);\n };\n return BEditSubmit;\n })();\n var BDeleteAsk = (function () {\n function BDeleteAsk(value0) {\n this.value0 = value0;\n };\n BDeleteAsk.create = function (value0) {\n return new BDeleteAsk(value0);\n };\n return BDeleteAsk;\n })();\n var BDestroy = (function () {\n function BDestroy() {\n\n };\n BDestroy.value = new BDestroy();\n return BDestroy;\n })();\n var _edit_bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit_bm;\n })(function (v) {\n return function (v1) {\n return {\n edit_bm: v1,\n bm: v.bm,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed\n };\n };\n })(dictStrong);\n };\n var _bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.bm;\n })(function (v) {\n return function (v1) {\n return {\n bm: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit_bm: v.edit_bm\n };\n };\n })(dictStrong);\n };\n var addbmark = function (b$prime) {\n var render = function (v) {\n var toTextarea = function ($58) {\n return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n })(Data_String_Common.split(\"\\x0a\")($58)));\n };\n var mmoment = Globals.mmoment8601(v.bm.time);\n var editField = function (f) {\n return function ($59) {\n return Data_Maybe.Just.create(BEditField.create(f($59)));\n };\n };\n var display_exists = Halogen_HTML_Elements.div([ Util.class_(\"alert\") ])([ Halogen_HTML_Core.text(\"previously saved\\xa0\"), Halogen_HTML_Elements.span([ Util.class_(\"link f7 dib gray pr3\"), Halogen_HTML_Properties.title(Data_Maybe.maybe(v.bm.time)(Data_Tuple.snd)(mmoment)) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment)) ]), Halogen_HTML_Elements.div([ Util.class_(\"edit_links dib ml1\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"delete_link di\") ])([ Halogen_HTML_Elements.button(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v1) {\n return new Data_Maybe.Just(new BDeleteAsk(true));\n }), Util.class_(\"delete\") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(v.deleteAsk)([ Util.attr(\"hidden\")(\"hidden\") ])))([ Halogen_HTML_Core.text(\"delete\") ]), Halogen_HTML_Elements.span(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Util.class_(\"confirm red\") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(!v.deleteAsk)([ Util.attr(\"hidden\")(\"hidden\") ])))([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v1) {\n return new Data_Maybe.Just(new BDeleteAsk(false));\n }) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v1) {\n return new Data_Maybe.Just(BDestroy.value);\n }), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]) ]);\n var display_edit = Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(function ($60) {\n return Data_Maybe.Just.create(BEditSubmit.create($60));\n }) ])([ Halogen_HTML_Elements.table([ Util.class_(\"w-100\") ])([ Halogen_HTML_Elements.tbody_([ Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td([ Util.class_(\"w1\") ])([ ]), Halogen_HTML_Elements.td_(Data_Monoid.guard(Data_Monoid.monoidArray)(v.bm.bid > 0)([ display_exists ])) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"url\") ])([ Halogen_HTML_Core.text(\"URL\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputUrl.value), Halogen_HTML_Properties.id_(\"url\"), Util.class_(\"w-100 mv1\"), Halogen_HTML_Properties.required(true), Halogen_HTML_Properties.name(\"url\"), Halogen_HTML_Properties.autofocus(Data_String_Common[\"null\"](v.bm.url)), Halogen_HTML_Properties.value(v.edit_bm.url), Halogen_HTML_Events.onValueChange(editField(Eurl.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"title\") ])([ Halogen_HTML_Core.text(\"title\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Halogen_HTML_Properties.id_(\"title\"), Util.class_(\"w-100 mv1\"), Halogen_HTML_Properties.name(\"title\"), Halogen_HTML_Properties.value(v.edit_bm.title), Halogen_HTML_Events.onValueChange(editField(Etitle.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"description\") ])([ Halogen_HTML_Core.text(\"description\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.textarea([ Util.class_(\"w-100 mt1 mid-gray\"), Halogen_HTML_Properties.id_(\"description\"), Halogen_HTML_Properties.name(\"description\"), Halogen_HTML_Properties.rows(4), Halogen_HTML_Properties.value(v.edit_bm.description), Halogen_HTML_Events.onValueChange(editField(Edescription.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"tags\") ])([ Halogen_HTML_Core.text(\"tags\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Halogen_HTML_Properties.id_(\"tags\"), Util.class_(\"w-100 mv1\"), Halogen_HTML_Properties.name(\"tags\"), Halogen_HTML_Properties.autocomplete(false), Util.attr(\"autocapitalize\")(\"off\"), Halogen_HTML_Properties.autofocus(!Data_String_Common[\"null\"](v.bm.url)), Halogen_HTML_Properties.value(v.edit_bm.tags), Halogen_HTML_Events.onValueChange(editField(Etags.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"private\") ])([ Halogen_HTML_Core.text(\"private\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Halogen_HTML_Properties.id_(\"private\"), Util.class_(\"private pointer\"), Halogen_HTML_Properties.name(\"private\"), Halogen_HTML_Properties.checked(v[\"edit_bm\"][\"private\"]), Halogen_HTML_Events.onChecked(editField(Eprivate.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"toread\") ])([ Halogen_HTML_Core.text(\"read later\") ]) ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Halogen_HTML_Properties.id_(\"toread\"), Util.class_(\"toread pointer\"), Halogen_HTML_Properties.name(\"toread\"), Halogen_HTML_Properties.checked(v.edit_bm.toread), Halogen_HTML_Events.onChecked(editField(Etoread.create)) ]) ]) ]), Halogen_HTML_Elements.tr_([ Halogen_HTML_Elements.td_([ ]), Halogen_HTML_Elements.td_([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputSubmit.value), Util.class_(\"ph3 pv2 input-reset ba b--navy bg-transparent pointer f6 dib mt1 dim\"), Halogen_HTML_Properties.value((function () {\n var $30 = v.bm.bid > 0;\n if ($30) {\n return \"update bookmark\";\n };\n return \"add bookmark\";\n })()) ]) ]) ]) ]) ]) ]);\n var display_destroyed = Halogen_HTML_Elements.p([ Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"you killed this bookmark\") ]);\n return Halogen_HTML_Elements.div_([ (function () {\n var $31 = !v.destroyed;\n if ($31) {\n return display_edit;\n };\n return display_destroyed;\n })() ]);\n };\n var mkState = function (b) {\n return {\n bm: b,\n edit_bm: b,\n deleteAsk: false,\n destroyed: false\n };\n };\n var handleAction = function (v) {\n if (v instanceof BDeleteAsk) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $35 = {};\n for (var $36 in v1) {\n if ({}.hasOwnProperty.call(v1, $36)) {\n $35[$36] = v1[$36];\n };\n };\n $35.deleteAsk = v.value0;\n return $35;\n });\n };\n if (v instanceof BDestroy) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.gets(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n return v1.bm.bid;\n }))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.destroy(v1))))(function () {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v2) {\n var $40 = {};\n for (var $41 in v2) {\n if ({}.hasOwnProperty.call(v2, $41)) {\n $40[$41] = v2[$41];\n };\n };\n $40.destroyed = true;\n return $40;\n });\n });\n });\n };\n if (v instanceof BEditField) {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof Eurl) {\n return function (v1) {\n return {\n url: v.value0.value0,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etitle) {\n return function (v1) {\n return {\n url: v1.url,\n title: v.value0.value0,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Edescription) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v.value0.value0,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etags) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v.value0.value0,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Eprivate) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v.value0.value0,\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etoread) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v.value0.value0,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.Add (line 156, column 17 - line 162, column 36): \" + [ v.value0.constructor.name ]);\n })());\n };\n if (v instanceof BEditSubmit) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_Event_Event.preventDefault(v.value0)))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editBookmark(v1))))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(v1))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Util[\"_loc\"]))(function (v2) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_HTML.window))(function (v3) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Util[\"_curQuerystring\"]))(function (v4) {\n var v5 = Util[\"_lookupQueryStringValue\"](v4)(\"next\");\n if (v5 instanceof Data_Maybe.Just) {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_HTML_Location.setHref(v5.value0)(v2));\n };\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Globals.closeWindow(v3));\n });\n });\n });\n });\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.Add (line 148, column 3 - line 148, column 69): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(b$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"BEditField\"] = BEditField;\n exports[\"BEditSubmit\"] = BEditSubmit;\n exports[\"BDeleteAsk\"] = BDeleteAsk;\n exports[\"BDestroy\"] = BDestroy;\n exports[\"Eurl\"] = Eurl;\n exports[\"Etitle\"] = Etitle;\n exports[\"Edescription\"] = Edescription;\n exports[\"Etags\"] = Etags;\n exports[\"Eprivate\"] = Eprivate;\n exports[\"Etoread\"] = Etoread;\n exports[\"_bm\"] = _bm;\n exports[\"_edit_bm\"] = _edit_bm;\n exports[\"addbmark\"] = addbmark;\n})(PS[\"Component.Add\"] = PS[\"Component.Add\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var App = PS[\"App\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed_ButtonType = PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Const = PS[\"Data.Const\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Lens = PS[\"Data.Lens\"];\n var Data_Lens_Getter = PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = PS[\"Data.Lens.Setter\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Nullable = PS[\"Data.Nullable\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_CodePoints = PS[\"Data.String.CodePoints\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Globals = PS[\"Globals\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Util = PS[\"Util\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"]; \n var Eurl = (function () {\n function Eurl(value0) {\n this.value0 = value0;\n };\n Eurl.create = function (value0) {\n return new Eurl(value0);\n };\n return Eurl;\n })();\n var Etitle = (function () {\n function Etitle(value0) {\n this.value0 = value0;\n };\n Etitle.create = function (value0) {\n return new Etitle(value0);\n };\n return Etitle;\n })();\n var Edescription = (function () {\n function Edescription(value0) {\n this.value0 = value0;\n };\n Edescription.create = function (value0) {\n return new Edescription(value0);\n };\n return Edescription;\n })();\n var Etags = (function () {\n function Etags(value0) {\n this.value0 = value0;\n };\n Etags.create = function (value0) {\n return new Etags(value0);\n };\n return Etags;\n })();\n var Eprivate = (function () {\n function Eprivate(value0) {\n this.value0 = value0;\n };\n Eprivate.create = function (value0) {\n return new Eprivate(value0);\n };\n return Eprivate;\n })();\n var Etoread = (function () {\n function Etoread(value0) {\n this.value0 = value0;\n };\n Etoread.create = function (value0) {\n return new Etoread(value0);\n };\n return Etoread;\n })();\n var BNotifyRemove = (function () {\n function BNotifyRemove() {\n\n };\n BNotifyRemove.value = new BNotifyRemove();\n return BNotifyRemove;\n })();\n var BStar = (function () {\n function BStar(value0) {\n this.value0 = value0;\n };\n BStar.create = function (value0) {\n return new BStar(value0);\n };\n return BStar;\n })();\n var BDeleteAsk = (function () {\n function BDeleteAsk(value0) {\n this.value0 = value0;\n };\n BDeleteAsk.create = function (value0) {\n return new BDeleteAsk(value0);\n };\n return BDeleteAsk;\n })();\n var BDestroy = (function () {\n function BDestroy() {\n\n };\n BDestroy.value = new BDestroy();\n return BDestroy;\n })();\n var BEdit = (function () {\n function BEdit(value0) {\n this.value0 = value0;\n };\n BEdit.create = function (value0) {\n return new BEdit(value0);\n };\n return BEdit;\n })();\n var BEditField = (function () {\n function BEditField(value0) {\n this.value0 = value0;\n };\n BEditField.create = function (value0) {\n return new BEditField(value0);\n };\n return BEditField;\n })();\n var BEditSubmit = (function () {\n function BEditSubmit(value0) {\n this.value0 = value0;\n };\n BEditSubmit.create = function (value0) {\n return new BEditSubmit(value0);\n };\n return BEditSubmit;\n })();\n var BMarkRead = (function () {\n function BMarkRead() {\n\n };\n BMarkRead.value = new BMarkRead();\n return BMarkRead;\n })();\n var _edit_bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit_bm;\n })(function (v) {\n return function (v1) {\n return {\n edit_bm: v1,\n bm: v.bm,\n deleteAsk: v.deleteAsk,\n edit: v.edit\n };\n };\n })(dictStrong);\n };\n var _edit = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit;\n })(function (v) {\n return function (v1) {\n return {\n edit: v1,\n bm: v.bm,\n deleteAsk: v.deleteAsk,\n edit_bm: v.edit_bm\n };\n };\n })(dictStrong);\n };\n var _bm = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.bm;\n })(function (v) {\n return function (v1) {\n return {\n bm: v1,\n deleteAsk: v.deleteAsk,\n edit: v.edit,\n edit_bm: v.edit_bm\n };\n };\n })(dictStrong);\n };\n var bmark = function (b$prime) {\n var mkState = function (b) {\n return {\n bm: b,\n edit_bm: b,\n deleteAsk: false,\n edit: false\n };\n };\n var handleAction = function (v) {\n if (v instanceof BStar) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.toggleStar(v1.bid)((function () {\n if (v.value0) {\n return App.Star.value;\n };\n return App.UnStar.value;\n })())))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(function (v2) {\n return {\n url: v2.url,\n title: v2.title,\n description: v2.description,\n tags: v2.tags,\n \"private\": v2[\"private\"],\n toread: v2.toread,\n bid: v2.bid,\n slug: v2.slug,\n selected: v.value0,\n time: v2.time,\n archiveUrl: v2.archiveUrl\n };\n }))(function () {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))(function (v2) {\n return {\n url: v2.url,\n title: v2.title,\n description: v2.description,\n tags: v2.tags,\n \"private\": v2[\"private\"],\n toread: v2.toread,\n bid: v2.bid,\n slug: v2.slug,\n selected: v.value0,\n time: v2.time,\n archiveUrl: v2.archiveUrl\n };\n });\n });\n });\n });\n };\n if (v instanceof BDeleteAsk) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $41 = {};\n for (var $42 in v1) {\n if ({}.hasOwnProperty.call(v1, $42)) {\n $41[$42] = v1[$42];\n };\n };\n $41.deleteAsk = v.value0;\n return $41;\n });\n };\n if (v instanceof BDestroy) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.destroy(v1.bid))))(function () {\n return Halogen_Query_HalogenM.raise(BNotifyRemove.value);\n });\n });\n };\n if (v instanceof BMarkRead) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.markRead(v1.bid))))(function () {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(function (v2) {\n return {\n url: v2.url,\n title: v2.title,\n description: v2.description,\n tags: v2.tags,\n \"private\": v2[\"private\"],\n toread: false,\n bid: v2.bid,\n slug: v2.slug,\n selected: v2.selected,\n time: v2.time,\n archiveUrl: v2.archiveUrl\n };\n });\n });\n });\n };\n if (v instanceof BEdit) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))(v1))(function () {\n return Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(v.value0);\n });\n });\n };\n if (v instanceof BEditField) {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof Eurl) {\n return function (v1) {\n return {\n url: v.value0.value0,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etitle) {\n return function (v1) {\n return {\n url: v1.url,\n title: v.value0.value0,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Edescription) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v.value0.value0,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etags) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v.value0.value0,\n \"private\": v1[\"private\"],\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Eprivate) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v.value0.value0,\n toread: v1.toread,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n if (v.value0 instanceof Etoread) {\n return function (v1) {\n return {\n url: v1.url,\n title: v1.title,\n description: v1.description,\n tags: v1.tags,\n \"private\": v1[\"private\"],\n toread: v.value0.value0,\n bid: v1.bid,\n slug: v1.slug,\n selected: v1.selected,\n time: v1.time,\n archiveUrl: v1.archiveUrl\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.BMark (line 227, column 17 - line 233, column 36): \" + [ v.value0.constructor.name ]);\n })());\n };\n if (v instanceof BEditSubmit) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_Event_Event.preventDefault(v.value0)))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_bm(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editBookmark(v1))))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_bm(Data_Profunctor_Strong.strongFn))(v1))(function () {\n return Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(false);\n });\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.BMark (line 194, column 3 - line 194, column 76): \" + [ v.constructor.name ]);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n var render = function (v) {\n var toTextarea = function (input) {\n return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n })(Data_String_Common.split(\"\\x0a\")(input)));\n };\n var star = Data_Monoid.guard(Data_Monoid.monoidArray)(app.dat.isowner)([ Halogen_HTML_Elements.div([ Util.class_(\"star fl pointer\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.bm.selected)(\" selected\")) ])([ Halogen_HTML_Elements.button([ Util.class_(\"moon-gray\"), Halogen_HTML_Events.onClick(function (v1) {\n return new Data_Maybe.Just(new BStar(!v.bm.selected));\n }) ])([ Halogen_HTML_Core.text(\"\\u272d\") ]) ]) ]);\n var mmoment = Globals.mmoment8601(v.bm.time);\n var links = Data_Monoid.guard(Data_Monoid.monoidArray)(app.dat.isowner)([ Halogen_HTML_Elements.div([ Util.class_(\"edit_links di\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v1) {\n return new Data_Maybe.Just(new BEdit(true));\n }), Util.class_(\"edit light-silver hover-blue\") ])([ Halogen_HTML_Core.text(\"edit\\xa0\\xa0\") ]), Halogen_HTML_Elements.div([ Util.class_(\"delete_link di\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v1) {\n return new Data_Maybe.Just(new BDeleteAsk(true));\n }), Util.class_(\"delete light-silver hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Core.text(\"delete\") ]), Halogen_HTML_Elements.span([ Util.class_(\"confirm red\" + Data_Monoid.guard(Data_Monoid.monoidString)(!v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v1) {\n return new Data_Maybe.Just(new BDeleteAsk(false));\n }) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v1) {\n return new Data_Maybe.Just(BDestroy.value);\n }), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]), Halogen_HTML_Elements.div([ Util.class_(\"read di\") ])(Data_Monoid.guard(Data_Monoid.monoidArray)(v.bm.toread)([ Halogen_HTML_Core.text(\"\\xa0\\xa0\"), Halogen_HTML_Elements.button([ Halogen_HTML_Events.onClick(function (v1) {\n return new Data_Maybe.Just(BMarkRead.value);\n }), Util.class_(\"mark_read\") ])([ Halogen_HTML_Core.text(\"mark as read\") ]) ])) ]);\n var linkToFilterTag = function (tag) {\n return Util.fromNullableStr(app.userR) + (\"/t:\" + tag);\n };\n var linkToFilterSingle = function (slug) {\n return Util.fromNullableStr(app.userR) + (\"/b:\" + slug);\n };\n var editField = function (f) {\n return function ($65) {\n return Data_Maybe.Just.create(BEditField.create(f($65)));\n };\n };\n var display_edit = [ Halogen_HTML_Elements.div([ Util.class_(\"edit_bookmark_form pa2 pt0 bg-white\") ])([ Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(function ($66) {\n return Data_Maybe.Just.create(BEditSubmit.create($66));\n }) ])([ Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"url\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputUrl.value), Util.class_(\"url w-100 mb2 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.required(true), Halogen_HTML_Properties.name(\"url\"), Halogen_HTML_Properties.value(v.edit_bm.url), Halogen_HTML_Events.onValueChange(editField(Eurl.create)) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"title\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Util.class_(\"title w-100 mb2 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.name(\"title\"), Halogen_HTML_Properties.value(v.edit_bm.title), Halogen_HTML_Events.onValueChange(editField(Etitle.create)) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"description\") ]), Halogen_HTML_Elements.textarea([ Util.class_(\"description w-100 mb1 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.name(\"description\"), Halogen_HTML_Properties.rows(5), Halogen_HTML_Properties.value(v.edit_bm.description), Halogen_HTML_Events.onValueChange(editField(Edescription.create)) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(\"tags_input_box\") ])([ Halogen_HTML_Elements.div_([ Halogen_HTML_Core.text(\"tags\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Util.class_(\"tags w-100 mb1 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.name(\"tags\"), Halogen_HTML_Properties.autocomplete(false), Util.attr(\"autocapitalize\")(\"off\"), Halogen_HTML_Properties.value(v.edit_bm.tags), Halogen_HTML_Events.onValueChange(editField(Etags.create)) ]), Halogen_HTML_Elements.br_ ]), Halogen_HTML_Elements.div([ Util.class_(\"edit_form_checkboxes mv3\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"private pointer\"), Halogen_HTML_Properties.id_(\"edit_private\"), Halogen_HTML_Properties.name(\"private\"), Halogen_HTML_Properties.checked(v[\"edit_bm\"][\"private\"]), Halogen_HTML_Events.onChecked(editField(Eprivate.create)) ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"edit_private\"), Util.class_(\"mr2\") ])([ Halogen_HTML_Core.text(\"private\") ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"toread pointer\"), Halogen_HTML_Properties.id_(\"edit_toread\"), Halogen_HTML_Properties.name(\"toread\"), Halogen_HTML_Properties.checked(v.edit_bm.toread), Halogen_HTML_Events.onChecked(editField(Etoread.create)) ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"edit_toread\") ])([ Halogen_HTML_Core.text(\"to-read\") ]), Halogen_HTML_Elements.br_ ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputSubmit.value), Util.class_(\"mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(\"save\") ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputReset.value), Util.class_(\"pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(\"cancel\"), Halogen_HTML_Events.onClick(function (v1) {\n return new Data_Maybe.Just(new BEdit(false));\n }) ]) ]) ]) ];\n var display = [ Halogen_HTML_Elements.div([ Util.class_(\"display\") ])(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(v.bm.url), Halogen_HTML_Properties.target(\"_blank\"), Util.class_(\"link f5 lh-title\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.bm.toread)(\" unread\")) ])([ Halogen_HTML_Core.text((function () {\n var $60 = Data_String_Common[\"null\"](v.bm.title);\n if ($60) {\n return \"[no title]\";\n };\n return v.bm.title;\n })()) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(v.bm.url), Util.class_(\"link f7 gray hover-blue\") ])([ Halogen_HTML_Core.text(v.bm.url) ]), Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(Data_Maybe.fromMaybe(\"http://archive.is/\" + v.bm.url)(Data_Nullable.toMaybe(v.bm.archiveUrl))), Util.class_(\"link f7 gray hover-blue ml2\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_Maybe.isJust(Data_Nullable.toMaybe(v.bm.archiveUrl)))(\" green\")), Halogen_HTML_Properties.target(\"_blank\"), Halogen_HTML_Properties.title(\"archive link\") ])([ (function () {\n var $61 = Data_Maybe.isJust(Data_Nullable.toMaybe(v.bm.archiveUrl));\n if ($61) {\n return Halogen_HTML_Core.text(\"\\u2611\");\n };\n return Halogen_HTML_Core.text(\"\\u2610\");\n })() ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div([ Util.class_(\"description mt1 mid-gray\") ])(toTextarea(v.bm.description)), Halogen_HTML_Elements.div([ Util.class_(\"tags\") ])(Data_Monoid.guard(Data_Monoid.monoidFn(Data_Monoid.monoidFn(Data_Monoid.monoidArray)))(!Data_String_Common[\"null\"](v.bm.tags))(Data_Functor.map(Data_Functor.functorArray))(function (tag) {\n return Halogen_HTML_Elements.a([ Util.class_(\"link tag mr1\" + Data_Monoid.guard(Data_Monoid.monoidString)(Data_String_CodePoints.take(1)(tag) === \".\")(\" private\")), Halogen_HTML_Properties.href(linkToFilterTag(tag)) ])([ Halogen_HTML_Core.text(tag) ]);\n })(Data_String_Common.split(\" \")(v.bm.tags))), Halogen_HTML_Elements.a([ Util.class_(\"link f7 dib gray w4\"), Halogen_HTML_Properties.title(Data_Maybe.maybe(v.bm.time)(Data_Tuple.snd)(mmoment)), Halogen_HTML_Properties.href(linkToFilterSingle(v.bm.slug)) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment)) ]) ])(links)) ];\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(Data_Show.show(Data_Show.showInt)(v.bm.bid)), Util.class_(\"bookmark w-100 mw7 pa1 mb3\" + Data_Monoid.guard(Data_Monoid.monoidString)(v[\"bm\"][\"private\"])(\" private\")) ])(Data_Semigroup.append(Data_Semigroup.semigroupArray)(star)((function () {\n if (v.edit) {\n return display_edit;\n };\n return display;\n })()));\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(b$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"BStar\"] = BStar;\n exports[\"BDeleteAsk\"] = BDeleteAsk;\n exports[\"BDestroy\"] = BDestroy;\n exports[\"BEdit\"] = BEdit;\n exports[\"BEditField\"] = BEditField;\n exports[\"BEditSubmit\"] = BEditSubmit;\n exports[\"BMarkRead\"] = BMarkRead;\n exports[\"Eurl\"] = Eurl;\n exports[\"Etitle\"] = Etitle;\n exports[\"Edescription\"] = Edescription;\n exports[\"Etags\"] = Etags;\n exports[\"Eprivate\"] = Eprivate;\n exports[\"Etoread\"] = Etoread;\n exports[\"BNotifyRemove\"] = BNotifyRemove;\n exports[\"_bm\"] = _bm;\n exports[\"_edit_bm\"] = _edit_bm;\n exports[\"_edit\"] = _edit;\n exports[\"bmark\"] = bmark;\n})(PS[\"Component.BMark\"] = PS[\"Component.BMark\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Component_BMark = PS[\"Component.BMark\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"]; \n var HandleBMessage = (function () {\n function HandleBMessage(value0, value1) {\n this.value0 = value0;\n this.value1 = value1;\n };\n HandleBMessage.create = function (value0) {\n return function (value1) {\n return new HandleBMessage(value0, value1);\n };\n };\n return HandleBMessage;\n })();\n var _bookmark = Data_Symbol.SProxy.value;\n var blist = function (st) {\n var render = function (bms) {\n return Halogen_HTML_Elements.div_(Data_Functor.map(Data_Functor.functorArray)(function (b) {\n return Halogen_HTML.slot()(new Data_Symbol.IsSymbol(function () {\n return \"bookmark\";\n }))(Data_Ord.ordInt)(_bookmark)(b.bid)(Component_BMark.bmark(b))(Data_Unit.unit)(function ($5) {\n return Data_Maybe.Just.create(HandleBMessage.create(b.bid)($5));\n });\n })(bms));\n };\n var handleAction = function (v) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(Data_Array.filter(function (b) {\n return b.bid !== v.value0;\n }));\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](st),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"HandleBMessage\"] = HandleBMessage;\n exports[\"_bookmark\"] = _bookmark;\n exports[\"blist\"] = blist;\n})(PS[\"Component.BList\"] = PS[\"Component.BList\"] || {});\n(function(exports) {// use at your own risk!\n exports.unsafeSetInnerHTML = function(element) {\n return function(html) {\n return function() {\n element.innerHTML = html;\n };\n };\n };\n})(PS[\"Component.RawHtml\"] = PS[\"Component.RawHtml\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Halogen_Query_HalogenQ = PS[\"Halogen.Query.HalogenQ\"];\n var Halogen_Query_Input = PS[\"Halogen.Query.Input\"];\n var Prelude = PS[\"Prelude\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"];\n var getHTMLElementRef = function ($1) {\n return Data_Functor.map(Halogen_Query_HalogenM.functorHalogenM)(function (v) {\n return Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Web_HTML_HTMLElement.fromElement)(v);\n })(Halogen_Query_HalogenM.getRef($1));\n };\n exports[\"getHTMLElementRef\"] = getHTMLElementRef;\n})(PS[\"Halogen.Query\"] = PS[\"Halogen.Query\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Component.RawHtml\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Globals = PS[\"Globals\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query = PS[\"Halogen.Query\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Halogen_Query_Input = PS[\"Halogen.Query.Input\"];\n var Prelude = PS[\"Prelude\"];\n var Web_HTML = PS[\"Web.HTML\"]; \n var SetInnerHTML = (function () {\n function SetInnerHTML() {\n\n };\n SetInnerHTML.value = new SetInnerHTML();\n return SetInnerHTML;\n })();\n var Receive = (function () {\n function Receive(value0) {\n this.value0 = value0;\n };\n Receive.create = function (value0) {\n return new Receive(value0);\n };\n return Receive;\n })();\n var mkComponent = function (toRawHTML) {\n var render = function (state) {\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.ref(state.elRef) ])([ ]);\n };\n var handleAction = function (v) {\n if (v instanceof SetInnerHTML) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v1) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Halogen_Query.getHTMLElementRef(v1.elRef))(function (v2) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Foldable.for_(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Foldable.foldableMaybe)(v2)(function (el) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.get(Halogen_Query_HalogenM.monadStateHalogenM))(function (v3) {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))($foreign.unsafeSetInnerHTML(el)(toRawHTML(v3.inputval)));\n });\n }))(function () {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n });\n });\n });\n };\n if (v instanceof Receive) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $12 = {};\n for (var $13 in v1) {\n if ({}.hasOwnProperty.call(v1, $13)) {\n $12[$13] = v1[$13];\n };\n };\n $12.inputval = v.value0;\n return $12;\n }))(function () {\n return handleAction(SetInnerHTML.value);\n });\n };\n throw new Error(\"Failed pattern match at Component.RawHtml (line 49, column 18 - line 60, column 22): \" + [ v.constructor.name ]);\n };\n return Halogen_Component.mkComponent({\n initialState: function (inputval) {\n return {\n elRef: \"inputval\",\n inputval: inputval\n };\n },\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: function ($16) {\n return Data_Maybe.Just.create(Receive.create($16));\n },\n initialize: new Data_Maybe.Just(SetInnerHTML.value),\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"SetInnerHTML\"] = SetInnerHTML;\n exports[\"Receive\"] = Receive;\n exports[\"mkComponent\"] = mkComponent;\n})(PS[\"Component.RawHtml\"] = PS[\"Component.RawHtml\"] || {});\n(function(exports) {\n var marked =require(\"marked\"); \n\n marked.setOptions({\n pedantic: false,\n gfm: true\n });\n\n exports.markedImpl = function(str) {\n return marked(str);\n };\n})(PS[\"Foreign.Marked\"] = PS[\"Foreign.Marked\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Foreign.Marked\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Globals = PS[\"Globals\"];\n var Prelude = PS[\"Prelude\"]; \n var marked = function ($0) {\n return Globals.RawHTML($foreign.markedImpl($0));\n };\n exports[\"marked\"] = marked;\n})(PS[\"Foreign.Marked\"] = PS[\"Foreign.Marked\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Component_RawHtml = PS[\"Component.RawHtml\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Foreign_Marked = PS[\"Foreign.Marked\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"]; \n var component = Component_RawHtml.mkComponent(Foreign_Marked.marked);\n exports[\"component\"] = component;\n})(PS[\"Component.Markdown\"] = PS[\"Component.Markdown\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_CodePoints = PS[\"Data.String.CodePoints\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Globals = PS[\"Globals\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Util = PS[\"Util\"];\n var nlist = function (st$prime) {\n var toTextarea = function (input) {\n return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n })(Data_String_Common.split(\"\\x0a\")(input)));\n };\n var mmoment = function (bm) {\n return Globals.mmoment8601(bm.created);\n };\n var mkState = function (notes$prime) {\n return {\n notes: notes$prime,\n cur: Data_Maybe.Nothing.value,\n deleteAsk: false,\n edit: false\n };\n };\n var handleAction = function (v) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n var linkToFilterSingle = function (slug) {\n return Util.fromNullableStr(app.userR) + (\"/notes/\" + slug);\n };\n var render = function (v) {\n var renderNote = function (bm) {\n return Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(Data_Show.show(Data_Show.showInt)(bm.id)), Util.class_(\"note w-100 mw7 pa1 mb2\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"display\") ])([ Halogen_HTML_Elements.a([ Halogen_HTML_Properties.href(linkToFilterSingle(bm.slug)), Util.class_(\"link f5 lh-title\") ])([ Halogen_HTML_Core.text((function () {\n var $5 = Data_String_Common[\"null\"](bm.title);\n if ($5) {\n return \"[no title]\";\n };\n return bm.title;\n })()) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.div([ Util.class_(\"description mt1 mid-gray\") ])(toTextarea(Data_String_CodePoints.take(200)(bm.text))), Halogen_HTML_Elements.a([ Util.class_(\"link f7 dib gray w4\"), Halogen_HTML_Properties.title(Data_Maybe.maybe(bm.created)(Data_Tuple.snd)(mmoment(bm))), Halogen_HTML_Properties.href(linkToFilterSingle(bm.slug)) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment(bm))) ]) ]) ]);\n };\n return Halogen_HTML_Elements.div_(Data_Functor.map(Data_Functor.functorArray)(renderNote)(v.notes));\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(st$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"nlist\"] = nlist;\n})(PS[\"Component.NList\"] = PS[\"Component.NList\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var App = PS[\"App\"];\n var Component_Markdown = PS[\"Component.Markdown\"];\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_State_Class = PS[\"Control.Monad.State.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var DOM_HTML_Indexed_ButtonType = PS[\"DOM.HTML.Indexed.ButtonType\"];\n var DOM_HTML_Indexed_InputType = PS[\"DOM.HTML.Indexed.InputType\"];\n var Data_Array = PS[\"Data.Array\"];\n var Data_Const = PS[\"Data.Const\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Lens = PS[\"Data.Lens\"];\n var Data_Lens_Getter = PS[\"Data.Lens.Getter\"];\n var Data_Lens_Internal_Forget = PS[\"Data.Lens.Internal.Forget\"];\n var Data_Lens_Lens = PS[\"Data.Lens.Lens\"];\n var Data_Lens_Setter = PS[\"Data.Lens.Setter\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Monoid = PS[\"Data.Monoid\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Profunctor_Strong = PS[\"Data.Profunctor.Strong\"];\n var Data_Semigroup = PS[\"Data.Semigroup\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_String = PS[\"Data.String\"];\n var Data_String_Common = PS[\"Data.String.Common\"];\n var Data_String_Pattern = PS[\"Data.String.Pattern\"];\n var Data_Symbol = PS[\"Data.Symbol\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Data_Void = PS[\"Data.Void\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Aff_Class = PS[\"Effect.Aff.Class\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Globals = PS[\"Globals\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML = PS[\"Halogen.HTML\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_HTML_Elements = PS[\"Halogen.HTML.Elements\"];\n var Halogen_HTML_Events = PS[\"Halogen.HTML.Events\"];\n var Halogen_HTML_Properties = PS[\"Halogen.HTML.Properties\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Util = PS[\"Util\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_HTML_Location = PS[\"Web.HTML.Location\"]; \n var Etitle = (function () {\n function Etitle(value0) {\n this.value0 = value0;\n };\n Etitle.create = function (value0) {\n return new Etitle(value0);\n };\n return Etitle;\n })();\n var Etext = (function () {\n function Etext(value0) {\n this.value0 = value0;\n };\n Etext.create = function (value0) {\n return new Etext(value0);\n };\n return Etext;\n })();\n var EisMarkdown = (function () {\n function EisMarkdown(value0) {\n this.value0 = value0;\n };\n EisMarkdown.create = function (value0) {\n return new EisMarkdown(value0);\n };\n return EisMarkdown;\n })();\n var NNop = (function () {\n function NNop() {\n\n };\n NNop.value = new NNop();\n return NNop;\n })();\n var NEditField = (function () {\n function NEditField(value0) {\n this.value0 = value0;\n };\n NEditField.create = function (value0) {\n return new NEditField(value0);\n };\n return NEditField;\n })();\n var NEditSubmit = (function () {\n function NEditSubmit(value0) {\n this.value0 = value0;\n };\n NEditSubmit.create = function (value0) {\n return new NEditSubmit(value0);\n };\n return NEditSubmit;\n })();\n var NEdit = (function () {\n function NEdit(value0) {\n this.value0 = value0;\n };\n NEdit.create = function (value0) {\n return new NEdit(value0);\n };\n return NEdit;\n })();\n var NDeleteAsk = (function () {\n function NDeleteAsk(value0) {\n this.value0 = value0;\n };\n NDeleteAsk.create = function (value0) {\n return new NDeleteAsk(value0);\n };\n return NDeleteAsk;\n })();\n var NDestroy = (function () {\n function NDestroy() {\n\n };\n NDestroy.value = new NDestroy();\n return NDestroy;\n })();\n var _note = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.note;\n })(function (v) {\n return function (v1) {\n return {\n note: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit: v.edit,\n edit_note: v.edit_note\n };\n };\n })(dictStrong);\n };\n var _markdown = Data_Symbol.SProxy.value;\n var _edit_note = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit_note;\n })(function (v) {\n return function (v1) {\n return {\n edit_note: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit: v.edit,\n note: v.note\n };\n };\n })(dictStrong);\n };\n var _edit = function (dictStrong) {\n return Data_Lens_Lens.lens(function (v) {\n return v.edit;\n })(function (v) {\n return function (v1) {\n return {\n edit: v1,\n deleteAsk: v.deleteAsk,\n destroyed: v.destroyed,\n edit_note: v.edit_note,\n note: v.note\n };\n };\n })(dictStrong);\n };\n var nnote = function (st$prime) {\n var render = function (v) {\n var toTextarea = function (input) {\n return Data_Array.drop(1)(Data_Foldable.foldMap(Data_Foldable.foldableArray)(Data_Monoid.monoidArray)(function (x) {\n return [ Halogen_HTML_Elements.br_, Halogen_HTML_Core.text(x) ];\n })(Data_String_Common.split(\"\\x0a\")(input)));\n };\n var mmoment = function (n) {\n return Globals.mmoment8601(n.created);\n };\n var renderNote = Halogen_HTML_Elements.div([ Halogen_HTML_Properties.id_(Data_Show.show(Data_Show.showInt)(v.note.id)), Util.class_(\"note w-100 mw7 pa1 mb2\") ])(Data_Semigroup.append(Data_Semigroup.semigroupArray)([ Halogen_HTML_Elements.div([ Util.class_(\"display\") ])([ Halogen_HTML_Elements.div([ Util.class_(\"link f5 lh-title\") ])([ Halogen_HTML_Core.text((function () {\n var $30 = Data_String_Common[\"null\"](v.note.title);\n if ($30) {\n return \"[no title]\";\n };\n return v.note.title;\n })()) ]), Halogen_HTML_Elements.br_, (function () {\n if (v.note.isMarkdown) {\n return Halogen_HTML_Elements.div([ Util.class_(\"description mt1\") ])([ Halogen_HTML.slot()(new Data_Symbol.IsSymbol(function () {\n return \"markdown\";\n }))(Data_Ord.ordUnit)(_markdown)(Data_Unit.unit)(Component_Markdown.component)(v.note.text)(Data_Void.absurd) ]);\n };\n return Halogen_HTML_Elements.div([ Util.class_(\"description mt1 mid-gray\") ])(toTextarea(v.note.text));\n })(), Halogen_HTML_Elements.div([ Util.class_(\"link f7 dib gray w4\"), Halogen_HTML_Properties.title(Data_Maybe.maybe(v.note.created)(Data_Tuple.snd)(mmoment(v.note))) ])([ Halogen_HTML_Core.text(Data_Maybe.maybe(\"\\xa0\")(Data_Tuple.fst)(mmoment(v.note))) ]) ]) ])([ Halogen_HTML_Elements.div([ Util.class_(\"edit_links db mt3\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v1) {\n return new Data_Maybe.Just(new NEdit(true));\n }), Util.class_(\"edit light-silver hover-blue\") ])([ Halogen_HTML_Core.text(\"edit\\xa0\\xa0\") ]), Halogen_HTML_Elements.div([ Util.class_(\"delete_link di\") ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v1) {\n return new Data_Maybe.Just(new NDeleteAsk(true));\n }), Util.class_(\"delete light-silver hover-blue\" + Data_Monoid.guard(Data_Monoid.monoidString)(v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Core.text(\"delete\") ]), Halogen_HTML_Elements.span([ Util.class_(\"confirm red\" + Data_Monoid.guard(Data_Monoid.monoidString)(!v.deleteAsk)(\" dn\")) ])([ Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v1) {\n return new Data_Maybe.Just(new NDeleteAsk(false));\n }) ])([ Halogen_HTML_Core.text(\"cancel\\xa0/\\xa0\") ]), Halogen_HTML_Elements.button([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropButtonType)(DOM_HTML_Indexed_ButtonType.ButtonButton.value), Halogen_HTML_Events.onClick(function (v1) {\n return new Data_Maybe.Just(NDestroy.value);\n }), Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"destroy\") ]) ]) ]) ]) ]));\n var editField = function (f) {\n return function ($59) {\n return Data_Maybe.Just.create(NEditField.create(f($59)));\n };\n };\n var renderNote_edit = Halogen_HTML_Elements.form([ Halogen_HTML_Events.onSubmit(function ($60) {\n return Data_Maybe.Just.create(NEditSubmit.create($60));\n }) ])([ Halogen_HTML_Elements.p([ Util.class_(\"mt2 mb1\") ])([ Halogen_HTML_Core.text(\"title:\") ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputText.value), Util.class_(\"title w-100 mb1 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.name(\"title\"), Halogen_HTML_Properties.value(v.edit_note.title), Halogen_HTML_Events.onValueChange(editField(Etitle.create)) ]), Halogen_HTML_Elements.br_, Halogen_HTML_Elements.p([ Util.class_(\"mt2 mb1\") ])([ Halogen_HTML_Core.text(\"description:\") ]), Halogen_HTML_Elements.textarea([ Util.class_(\"description w-100 mb1 pt1 f7 edit_form_input\"), Halogen_HTML_Properties.name(\"text\"), Halogen_HTML_Properties.rows(30), Halogen_HTML_Properties.value(v.edit_note.text), Halogen_HTML_Events.onValueChange(editField(Etext.create)) ]), Halogen_HTML_Elements.div([ Util.class_(\"edit_form_checkboxes mb3\") ])([ Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputCheckbox.value), Util.class_(\"is-markdown pointer\"), Halogen_HTML_Properties.id_(\"edit_ismarkdown\"), Halogen_HTML_Properties.name(\"ismarkdown\"), Halogen_HTML_Properties.checked(v.edit_note.isMarkdown), Halogen_HTML_Events.onChecked(editField(EisMarkdown.create)) ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.label([ Halogen_HTML_Properties[\"for\"](\"edit_ismarkdown\"), Util.class_(\"mr2\") ])([ Halogen_HTML_Core.text(\"use markdown?\") ]), Halogen_HTML_Elements.br_ ]), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputSubmit.value), Util.class_(\"mr1 pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(\"save\") ]), Halogen_HTML_Core.text(\" \"), Halogen_HTML_Elements.input([ Halogen_HTML_Properties.type_(Halogen_HTML_Core.isPropInputType)(DOM_HTML_Indexed_InputType.InputReset.value), Util.class_(\"pv1 ph2 dark-gray ba b--moon-gray bg-near-white pointer rdim\"), Halogen_HTML_Properties.value(\"cancel\"), Halogen_HTML_Events.onClick(function (v1) {\n return new Data_Maybe.Just(new NEdit(false));\n }) ]) ]);\n var display_destroyed = Halogen_HTML_Elements.p([ Util.class_(\"red\") ])([ Halogen_HTML_Core.text(\"you killed this note\") ]);\n if (v.destroyed) {\n return display_destroyed;\n };\n if (v.edit) {\n return renderNote_edit;\n };\n return renderNote;\n };\n var mkState = function (note$prime) {\n return {\n note: note$prime,\n edit_note: note$prime,\n deleteAsk: false,\n edit: note$prime.id <= 0,\n destroyed: false\n };\n };\n var app = Globals[\"app'\"](Data_Unit.unit);\n var handleAction = function (v) {\n if (v instanceof NNop) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n if (v instanceof NEditField) {\n return Data_Lens_Setter.modifying(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_note(Data_Profunctor_Strong.strongFn))((function () {\n if (v.value0 instanceof Etitle) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v.value0.value0,\n text: v1.text,\n length: v1.length,\n isMarkdown: v1.isMarkdown,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n if (v.value0 instanceof Etext) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v1.title,\n text: v.value0.value0,\n length: v1.length,\n isMarkdown: v1.isMarkdown,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n if (v.value0 instanceof EisMarkdown) {\n return function (v1) {\n return {\n id: v1.id,\n slug: v1.slug,\n title: v1.title,\n text: v1.text,\n length: v1.length,\n isMarkdown: v.value0.value0,\n created: v1.created,\n updated: v1.updated\n };\n };\n };\n throw new Error(\"Failed pattern match at Component.NNote (line 162, column 19 - line 165, column 44): \" + [ v.value0.constructor.name ]);\n })());\n };\n if (v instanceof NDeleteAsk) {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v1) {\n var $42 = {};\n for (var $43 in v1) {\n if ({}.hasOwnProperty.call(v1, $43)) {\n $42[$43] = v1[$43];\n };\n };\n $42.deleteAsk = v.value0;\n return $42;\n });\n };\n if (v instanceof NDestroy) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_note(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Functor[\"void\"](Halogen_Query_HalogenM.functorHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.destroyNote(v1.id))))(function () {\n return Control_Monad_State_Class.modify_(Halogen_Query_HalogenM.monadStateHalogenM)(function (v2) {\n var $47 = {};\n for (var $48 in v2) {\n if ({}.hasOwnProperty.call(v2, $48)) {\n $47[$48] = v2[$48];\n };\n };\n $47.destroyed = true;\n return $47;\n });\n });\n });\n };\n if (v instanceof NEdit) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_note(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_note(Data_Profunctor_Strong.strongFn))(v1))(function () {\n return Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(v.value0);\n });\n });\n };\n if (v instanceof NEditSubmit) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Web_Event_Event.preventDefault(v.value0)))(function () {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Getter.use(Halogen_Query_HalogenM.monadStateHalogenM)(_edit_note(Data_Lens_Internal_Forget.strongForget)))(function (v1) {\n return Control_Bind.bind(Halogen_Query_HalogenM.bindHalogenM)(Effect_Aff_Class.liftAff(Halogen_Query_HalogenM.monadAffHalogenM(Effect_Aff_Class.monadAffAff))(App.editNote(v1)))(function (v2) {\n if (v2.body instanceof Data_Either.Left) {\n return Control_Applicative.pure(Halogen_Query_HalogenM.applicativeHalogenM)(Data_Unit.unit);\n };\n if (v2.body instanceof Data_Either.Right) {\n var $56 = v1.id === 0;\n if ($56) {\n return Effect_Class.liftEffect(Halogen_Query_HalogenM.monadEffectHalogenM(Effect_Aff.monadEffectAff))(Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Location.setHref(Util.fromNullableStr(app.noteR)))(Util[\"_loc\"]));\n };\n return Control_Bind.discard(Control_Bind.discardUnit)(Halogen_Query_HalogenM.bindHalogenM)(Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_note(Data_Profunctor_Strong.strongFn))(v1))(function () {\n return Data_Lens_Setter.assign(Halogen_Query_HalogenM.monadStateHalogenM)(_edit(Data_Profunctor_Strong.strongFn))(false);\n });\n };\n throw new Error(\"Failed pattern match at Component.NNote (line 188, column 5 - line 196, column 22): \" + [ v2.body.constructor.name ]);\n });\n });\n });\n };\n throw new Error(\"Failed pattern match at Component.NNote (line 157, column 3 - line 157, column 77): \" + [ v.constructor.name ]);\n };\n return Halogen_Component.mkComponent({\n initialState: Data_Function[\"const\"](mkState(st$prime)),\n render: render,\n \"eval\": Halogen_Component.mkEval({\n handleAction: handleAction,\n handleQuery: Halogen_Component.defaultEval.handleQuery,\n receive: Halogen_Component.defaultEval.receive,\n initialize: Halogen_Component.defaultEval.initialize,\n finalize: Halogen_Component.defaultEval.finalize\n })\n });\n };\n exports[\"NNop\"] = NNop;\n exports[\"NEditField\"] = NEditField;\n exports[\"NEditSubmit\"] = NEditSubmit;\n exports[\"NEdit\"] = NEdit;\n exports[\"NDeleteAsk\"] = NDeleteAsk;\n exports[\"NDestroy\"] = NDestroy;\n exports[\"_note\"] = _note;\n exports[\"_edit_note\"] = _edit_note;\n exports[\"_edit\"] = _edit;\n exports[\"Etitle\"] = Etitle;\n exports[\"Etext\"] = Etext;\n exports[\"EisMarkdown\"] = EisMarkdown;\n exports[\"_markdown\"] = _markdown;\n exports[\"nnote\"] = nnote;\n})(PS[\"Component.NNote\"] = PS[\"Component.NNote\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Reader_Trans = PS[\"Control.Monad.Reader.Trans\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Prelude = PS[\"Prelude\"];\n var MonadFork = function (Functor1, Monad0, fork, join, suspend) {\n this.Functor1 = Functor1;\n this.Monad0 = Monad0;\n this.fork = fork;\n this.join = join;\n this.suspend = suspend;\n };\n var suspend = function (dict) {\n return dict.suspend;\n };\n var monadForkAff = new MonadFork(function () {\n return Effect_Aff.functorFiber;\n }, function () {\n return Effect_Aff.monadAff;\n }, Effect_Aff.forkAff, Effect_Aff.joinFiber, Effect_Aff.suspendAff);\n var join = function (dict) {\n return dict.join;\n };\n var fork = function (dict) {\n return dict.fork;\n };\n exports[\"fork\"] = fork;\n exports[\"join\"] = join;\n exports[\"suspend\"] = suspend;\n exports[\"MonadFork\"] = MonadFork;\n exports[\"monadForkAff\"] = monadForkAff;\n})(PS[\"Control.Monad.Fork.Class\"] = PS[\"Control.Monad.Fork.Class\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.warn = function (s) {\n return function () {\n console.warn(s);\n return {};\n };\n };\n})(PS[\"Effect.Console\"] = PS[\"Effect.Console\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Effect.Console\"];\n var Data_Show = PS[\"Data.Show\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n exports[\"warn\"] = $foreign.warn;\n})(PS[\"Effect.Console\"] = PS[\"Effect.Console\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Map = PS[\"Data.Map\"];\n var Data_Map_Internal = PS[\"Data.Map.Internal\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_Data_Slot = PS[\"Halogen.Data.Slot\"];\n var Halogen_Query_EventSource = PS[\"Halogen.Query.EventSource\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Coerce = PS[\"Unsafe.Coerce\"];\n var Web_DOM = PS[\"Web.DOM\"];\n var unRenderStateX = Unsafe_Coerce.unsafeCoerce;\n var unDriverStateX = Unsafe_Coerce.unsafeCoerce;\n var renderStateX_ = function (dictApplicative) {\n return function (f) {\n return unDriverStateX(function (st) {\n return Data_Foldable.traverse_(dictApplicative)(Data_Foldable.foldableMaybe)(f)(st.rendering);\n });\n };\n };\n var mkRenderStateX = Unsafe_Coerce.unsafeCoerce;\n var renderStateX = function (dictFunctor) {\n return function (f) {\n return unDriverStateX(function (st) {\n return mkRenderStateX(f(st.rendering));\n });\n };\n };\n var mkDriverStateXRef = Unsafe_Coerce.unsafeCoerce;\n var mapDriverState = function (f) {\n return function (v) {\n return f(v);\n };\n };\n var initDriverState = function (component) {\n return function (input) {\n return function (handler) {\n return function (lchs) {\n return function __do() {\n var v = Effect_Ref[\"new\"]({})();\n var v1 = Effect_Ref[\"new\"](Halogen_Data_Slot.empty)();\n var v2 = Effect_Ref[\"new\"](Halogen_Data_Slot.empty)();\n var v3 = Effect_Ref[\"new\"](handler)();\n var v4 = Effect_Ref[\"new\"](new Data_Maybe.Just(Data_List_Types.Nil.value))();\n var v5 = Effect_Ref[\"new\"](new Data_Maybe.Just(Data_List_Types.Nil.value))();\n var v6 = Effect_Ref[\"new\"](Data_Maybe.Nothing.value)();\n var v7 = Effect_Ref[\"new\"](1)();\n var v8 = Effect_Ref[\"new\"](new Data_Maybe.Just(Data_Map_Internal.empty))();\n var v9 = Effect_Ref[\"new\"](Data_Map_Internal.empty)();\n var ds = {\n component: component,\n state: component.initialState(input),\n refs: Data_Map_Internal.empty,\n children: Halogen_Data_Slot.empty,\n childrenIn: v1,\n childrenOut: v2,\n selfRef: v,\n handlerRef: v3,\n pendingQueries: v4,\n pendingOuts: v5,\n pendingHandlers: v6,\n rendering: Data_Maybe.Nothing.value,\n fresh: v7,\n subscriptions: v8,\n forks: v9,\n lifecycleHandlers: lchs\n };\n Effect_Ref.write(ds)(v)();\n return mkDriverStateXRef(v);\n };\n };\n };\n };\n };\n exports[\"mapDriverState\"] = mapDriverState;\n exports[\"unDriverStateX\"] = unDriverStateX;\n exports[\"mkDriverStateXRef\"] = mkDriverStateXRef;\n exports[\"renderStateX\"] = renderStateX;\n exports[\"renderStateX_\"] = renderStateX_;\n exports[\"unRenderStateX\"] = unRenderStateX;\n exports[\"initDriverState\"] = initDriverState;\n})(PS[\"Halogen.Aff.Driver.State\"] = PS[\"Halogen.Aff.Driver.State\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports.reallyUnsafeRefEq = function (a) {\n return function (b) {\n return a === b;\n };\n };\n})(PS[\"Unsafe.Reference\"] = PS[\"Unsafe.Reference\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Unsafe.Reference\"]; \n var unsafeRefEq = $foreign.reallyUnsafeRefEq;\n exports[\"unsafeRefEq\"] = unsafeRefEq;\n})(PS[\"Unsafe.Reference\"] = PS[\"Unsafe.Reference\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Applicative_Free = PS[\"Control.Applicative.Free\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Coroutine = PS[\"Control.Coroutine\"];\n var Control_Monad = PS[\"Control.Monad\"];\n var Control_Monad_Fork_Class = PS[\"Control.Monad.Fork.Class\"];\n var Control_Monad_Free = PS[\"Control.Monad.Free\"];\n var Control_Monad_Free_Trans = PS[\"Control.Monad.Free.Trans\"];\n var Control_Monad_Trans_Class = PS[\"Control.Monad.Trans.Class\"];\n var Control_Parallel = PS[\"Control.Parallel\"];\n var Control_Parallel_Class = PS[\"Control.Parallel.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Boolean = PS[\"Data.Boolean\"];\n var Data_Coyoneda = PS[\"Data.Coyoneda\"];\n var Data_Eq = PS[\"Data.Eq\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Map = PS[\"Data.Map\"];\n var Data_Map_Internal = PS[\"Data.Map.Internal\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Halogen_Aff_Driver_State = PS[\"Halogen.Aff.Driver.State\"];\n var Halogen_Query_ChildQuery = PS[\"Halogen.Query.ChildQuery\"];\n var Halogen_Query_EventSource = PS[\"Halogen.Query.EventSource\"];\n var Halogen_Query_HalogenM = PS[\"Halogen.Query.HalogenM\"];\n var Halogen_Query_HalogenQ = PS[\"Halogen.Query.HalogenQ\"];\n var Halogen_Query_Input = PS[\"Halogen.Query.Input\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Reference = PS[\"Unsafe.Reference\"]; \n var unsubscribe = function (sid) {\n return function (ref) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v.subscriptions)))(function (v1) {\n return Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(Halogen_Query_EventSource.finalize)(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Data_Map_Internal.lookup(Halogen_Query_HalogenM.ordSubscriptionId)(sid))(v1));\n });\n });\n };\n };\n var queueOrRun = function (ref) {\n return function (au) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n if (v instanceof Data_Maybe.Nothing) {\n return au;\n };\n if (v instanceof Data_Maybe.Just) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.write(new Data_Maybe.Just(new Data_List_Types.Cons(au, v.value0)))(ref));\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 195, column 33 - line 197, column 54): \" + [ v.constructor.name ]);\n });\n };\n };\n var handleLifecycle = function (lchs) {\n return function (f) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.write({\n initializers: Data_List_Types.Nil.value,\n finalizers: Data_List_Types.Nil.value\n })(lchs)))(function () {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(f))(function (v) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(lchs)))(function (v1) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(v1.finalizers))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Parallel.parSequence_(Effect_Aff.parallelAff)(Data_List_Types.foldableList)(v1.initializers))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v);\n });\n });\n });\n });\n });\n };\n };\n var fresh = function (f) {\n return function (ref) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"modify'\"](function (i) {\n return {\n state: i + 1 | 0,\n value: f(i)\n };\n })(v.fresh));\n });\n };\n };\n var evalQ = function (render) {\n return function (ref) {\n return function (q) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n return evalM(render)(ref)(v[\"component\"][\"eval\"](new Halogen_Query_HalogenQ.Query(Data_Functor.map(Data_Coyoneda.functorCoyoneda)(Data_Maybe.Just.create)(Data_Coyoneda.liftCoyoneda(q)), Data_Function[\"const\"](Data_Maybe.Nothing.value))));\n });\n };\n };\n };\n var evalM = function (render) {\n return function (initRef) {\n return function (v) {\n var evalChildQuery = function (ref) {\n return function (cqb) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n return Halogen_Query_ChildQuery.unChildQueryBox(function (v2) {\n var evalChild = function (v3) {\n return Control_Parallel_Class.parallel(Effect_Aff.parallelAff)(Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v3)))(function (v4) {\n return Halogen_Aff_Driver_State.unDriverStateX(function (ds) {\n return evalQ(render)(ds.selfRef)(v2.value1);\n })(v4);\n }));\n };\n return Data_Functor.map(Effect_Aff.functorAff)(v2.value2)(Control_Parallel_Class.sequential(Effect_Aff.parallelAff)(v2.value0(Effect_Aff.applicativeParAff)(evalChild)(v1.children)));\n })(cqb);\n });\n };\n };\n var go = function (ref) {\n return function (v1) {\n if (v1 instanceof Halogen_Query_HalogenM.State) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n var v3 = v1.value0(v2.state);\n if (Unsafe_Reference.unsafeRefEq(v2.state)(v3.value1)) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v3.value0);\n };\n if (Data_Boolean.otherwise) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.write({\n component: v2.component,\n state: v3.value1,\n refs: v2.refs,\n children: v2.children,\n childrenIn: v2.childrenIn,\n childrenOut: v2.childrenOut,\n selfRef: v2.selfRef,\n handlerRef: v2.handlerRef,\n pendingQueries: v2.pendingQueries,\n pendingOuts: v2.pendingOuts,\n pendingHandlers: v2.pendingHandlers,\n rendering: v2.rendering,\n fresh: v2.fresh,\n subscriptions: v2.subscriptions,\n forks: v2.forks,\n lifecycleHandlers: v2.lifecycleHandlers\n })(ref)))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(handleLifecycle(v2.lifecycleHandlers)(render(v2.lifecycleHandlers)(ref)))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v3.value0);\n });\n });\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 85, column 7 - line 91, column 21): \" + [ v3.constructor.name ]);\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Subscribe) {\n return Control_Bind.bind(Effect_Aff.bindAff)(fresh(Halogen_Query_HalogenM.SubscriptionId)(ref))(function (v2) {\n var v3 = v1.value0(v2);\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v4) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Control_Bind.bind(Effect_Aff.bindAff)(v3)(function (v5) {\n var done = Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v4.subscriptions)))(function (v6) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.modify_(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Map_Internal[\"delete\"](Halogen_Query_HalogenM.ordSubscriptionId)(v2)))(v4.subscriptions)))(function () {\n return Control_Applicative.when(Effect_Aff.applicativeAff)(Data_Maybe.maybe(false)(Data_Map_Internal.member(Halogen_Query_HalogenM.ordSubscriptionId)(v2))(v6))(Halogen_Query_EventSource.finalize(v5.finalizer));\n });\n });\n var consumer = Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Control_Coroutine[\"await\"](Effect_Aff.monadAff))(function (v6) {\n return Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Control_Monad_Trans_Class.lift(Control_Monad_Free_Trans.monadTransFreeT(Control_Coroutine.functorAwait))(Effect_Aff.monadAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v4.subscriptions))))(function (v7) {\n return Control_Applicative.when(Control_Monad_Free_Trans.applicativeFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Data_Eq.eq(Data_Maybe.eqMaybe(Data_Eq.eqBoolean))(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Map_Internal.member(Halogen_Query_HalogenM.ordSubscriptionId)(v2))(v7))(new Data_Maybe.Just(true)))(Control_Bind.bind(Control_Monad_Free_Trans.bindFreeT(Control_Coroutine.functorAwait)(Effect_Aff.monadAff))(Control_Monad_Trans_Class.lift(Control_Monad_Free_Trans.monadTransFreeT(Control_Coroutine.functorAwait))(Effect_Aff.monadAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(evalF(render)(ref)(new Halogen_Query_Input.Action(v6)))))(function (v8) {\n return consumer;\n }));\n });\n });\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.modify_(Data_Functor.map(Data_Maybe.functorMaybe)(Data_Map_Internal.insert(Halogen_Query_HalogenM.ordSubscriptionId)(v2)(done)))(v4.subscriptions)))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Coroutine.runProcess(Effect_Aff.monadRecAff)(Control_Coroutine.pullFrom(Effect_Aff.monadRecAff)(consumer)(v5.producer)))(function () {\n return Halogen_Query_EventSource.finalize(done);\n });\n });\n })))(function (v5) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1(v2));\n });\n });\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Unsubscribe) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(unsubscribe(v1.value0)(ref))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1);\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Lift) {\n return v1.value0;\n };\n if (v1 instanceof Halogen_Query_HalogenM.ChildQuery) {\n return evalChildQuery(ref)(v1.value0);\n };\n if (v1 instanceof Halogen_Query_HalogenM.Raise) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v2.handlerRef)))(function (v3) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(queueOrRun(v2.pendingOuts)(v3(v1.value0)))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1);\n });\n });\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Par) {\n return Control_Parallel_Class.sequential(Effect_Aff.parallelAff)(Control_Applicative_Free.retractFreeAp(Effect_Aff.applicativeParAff)(Control_Applicative_Free.hoistFreeAp(function ($111) {\n return Control_Parallel_Class.parallel(Effect_Aff.parallelAff)(evalM(render)(ref)($111));\n })(v1.value0)));\n };\n if (v1 instanceof Halogen_Query_HalogenM.Fork) {\n return Control_Bind.bind(Effect_Aff.bindAff)(fresh(Halogen_Query_HalogenM.ForkId)(ref))(function (v2) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v3) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"new\"](false)))(function (v4) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Effect_Aff[\"finally\"](Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(function __do() {\n Effect_Ref.modify_(Data_Map_Internal[\"delete\"](Halogen_Query_HalogenM.ordForkId)(v2))(v3.forks)();\n return Effect_Ref.write(true)(v4)();\n }))(evalM(render)(ref)(v1.value0))))(function (v5) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Control_Monad.unlessM(Effect.monadEffect)(Effect_Ref.read(v4))(Effect_Ref.modify_(Data_Map_Internal.insert(Halogen_Query_HalogenM.ordForkId)(v2)(v5))(v3.forks))))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1(v2));\n });\n });\n });\n });\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.Kill) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(v2.forks)))(function (v3) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(Effect_Aff.killFiber(Effect_Exception.error(\"Cancelled\")))(Data_Map_Internal.lookup(Halogen_Query_HalogenM.ordForkId)(v1.value0)(v3)))(function () {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1);\n });\n });\n });\n };\n if (v1 instanceof Halogen_Query_HalogenM.GetRef) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v2) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(v1.value1(Data_Map_Internal.lookup(Data_Ord.ordString)(v1.value0)(v2.refs)));\n });\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 82, column 12 - line 146, column 33): \" + [ v1.constructor.name ]);\n };\n };\n return Control_Monad_Free.foldFree(Effect_Aff.monadRecAff)(go(initRef))(v);\n };\n };\n };\n var evalF = function (render) {\n return function (ref) {\n return function (v) {\n if (v instanceof Halogen_Query_Input.RefUpdate) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Data_Function.flip(Effect_Ref.modify_)(ref)(Halogen_Aff_Driver_State.mapDriverState(function (st) {\n return {\n component: st.component,\n state: st.state,\n refs: Data_Map_Internal.alter(Data_Ord.ordString)(Data_Function[\"const\"](v.value1))(v.value0)(st.refs),\n children: st.children,\n childrenIn: st.childrenIn,\n childrenOut: st.childrenOut,\n selfRef: st.selfRef,\n handlerRef: st.handlerRef,\n pendingQueries: st.pendingQueries,\n pendingOuts: st.pendingOuts,\n pendingHandlers: st.pendingHandlers,\n rendering: st.rendering,\n fresh: st.fresh,\n subscriptions: st.subscriptions,\n forks: st.forks,\n lifecycleHandlers: st.lifecycleHandlers\n };\n })));\n };\n if (v instanceof Halogen_Query_Input.Action) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v1) {\n return evalM(render)(ref)(v1[\"component\"][\"eval\"](new Halogen_Query_HalogenQ.Action(v.value0, Data_Unit.unit)));\n });\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver.Eval (line 51, column 20 - line 57, column 62): \" + [ v.constructor.name ]);\n };\n };\n };\n exports[\"evalF\"] = evalF;\n exports[\"evalQ\"] = evalQ;\n exports[\"evalM\"] = evalM;\n exports[\"handleLifecycle\"] = handleLifecycle;\n exports[\"queueOrRun\"] = queueOrRun;\n})(PS[\"Halogen.Aff.Driver.Eval\"] = PS[\"Halogen.Aff.Driver.Eval\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Coroutine = PS[\"Control.Coroutine\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Monad_Fork_Class = PS[\"Control.Monad.Fork.Class\"];\n var Control_Monad_Rec_Class = PS[\"Control.Monad.Rec.Class\"];\n var Control_Parallel = PS[\"Control.Parallel\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_List = PS[\"Data.List\"];\n var Data_List_Types = PS[\"Data.List.Types\"];\n var Data_Map = PS[\"Data.Map\"];\n var Data_Map_Internal = PS[\"Data.Map.Internal\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Ord = PS[\"Data.Ord\"];\n var Data_Semiring = PS[\"Data.Semiring\"];\n var Data_Traversable = PS[\"Data.Traversable\"];\n var Data_Tuple = PS[\"Data.Tuple\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Aff_AVar = PS[\"Effect.Aff.AVar\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Console = PS[\"Effect.Console\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Halogen = PS[\"Halogen\"];\n var Halogen_Aff_Driver_Eval = PS[\"Halogen.Aff.Driver.Eval\"];\n var Halogen_Aff_Driver_State = PS[\"Halogen.Aff.Driver.State\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_Data_Slot = PS[\"Halogen.Data.Slot\"];\n var Halogen_Query_EventSource = PS[\"Halogen.Query.EventSource\"];\n var Halogen_Query_HalogenQ = PS[\"Halogen.Query.HalogenQ\"];\n var Halogen_Query_Input = PS[\"Halogen.Query.Input\"];\n var Prelude = PS[\"Prelude\"]; \n var newLifecycleHandlers = Effect_Ref[\"new\"]({\n initializers: Data_List_Types.Nil.value,\n finalizers: Data_List_Types.Nil.value\n });\n var handleAff = Effect_Aff.runAff_(Data_Either.either(Effect_Exception.throwException)(Data_Function[\"const\"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit))));\n var handlePending = function (ref) {\n return function __do() {\n var v = Effect_Ref.read(ref)();\n Effect_Ref.write(Data_Maybe.Nothing.value)(ref)();\n return Data_Foldable.for_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(v)(function ($79) {\n return handleAff(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(Data_List.reverse($79)));\n })();\n };\n };\n var cleanupSubscriptionsAndForks = function (v) {\n return function __do() {\n Control_Bind.bindFlipped(Effect.bindEffect)(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(function ($80) {\n return handleAff(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Map_Internal.foldableMap)(function ($81) {\n return Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Halogen_Query_EventSource.finalize($81));\n })($80));\n }))(Effect_Ref.read(v.subscriptions))();\n Effect_Ref.write(Data_Maybe.Nothing.value)(v.subscriptions)();\n Control_Bind.bindFlipped(Effect.bindEffect)(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Map_Internal.foldableMap)(function ($82) {\n return handleAff(Effect_Aff.killFiber(Effect_Exception.error(\"finalized\"))($82));\n }))(Effect_Ref.read(v.forks))();\n return Effect_Ref.write(Data_Map_Internal.empty)(v.forks)();\n };\n };\n var runUI = function (renderSpec) {\n return function (component) {\n return function (i) {\n var subscribe = function (fresh) {\n return function (ref) {\n return function (consumer) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Aff_AVar.empty)(function (v) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(function __do() {\n var v1 = Effect_Ref.read(fresh)();\n Effect_Ref.modify_(function (v2) {\n return v2 + 1 | 0;\n })(fresh)();\n Effect_Ref.modify_(Data_Map_Internal.insert(Data_Ord.ordInt)(v1)(v))(ref)();\n return v1;\n }))(function (v1) {\n var producer = Control_Coroutine.producer(Effect_Aff.monadAff)(Data_Functor.map(Effect_Aff.functorAff)(Data_Either.either(Data_Function[\"const\"](new Data_Either.Right(Data_Unit.unit)))(Data_Either.Left.create))(Control_Monad_Error_Class[\"try\"](Effect_Aff.monadErrorAff)(Effect_Aff_AVar.take(v))));\n return Data_Functor[\"void\"](Effect_Aff.functorAff)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff)(Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Coroutine.runProcess(Effect_Aff.monadRecAff)(Control_Coroutine.connect(Effect_Aff.monadRecAff)(Effect_Aff.parallelAff)(producer)(consumer)))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.modify_(Data_Map_Internal[\"delete\"](Data_Ord.ordInt)(v1))(ref)))(function () {\n return Effect_Aff_AVar.kill(Effect_Exception.error(\"ended\"))(v);\n });\n })));\n });\n });\n };\n };\n };\n var rootHandler = function (ref) {\n return function (message) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(ref)))(function (v) {\n return Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Map_Internal.foldableMap)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(Data_Functor.map(Data_Map_Internal.functorMap)(Effect_Aff_AVar.put(message))(v));\n });\n };\n };\n var squashChildInitializers = function (lchs) {\n return function (preInits) {\n return Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n var parentInitializer = Halogen_Aff_Driver_Eval.evalM(render)(st.selfRef)(st[\"component\"][\"eval\"](new Halogen_Query_HalogenQ.Initialize(Data_Unit.unit)));\n return Effect_Ref.modify_(function (handlers) {\n return {\n initializers: new Data_List_Types.Cons(Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Control_Parallel.parSequence_(Effect_Aff.parallelAff)(Data_List_Types.foldableList)(Data_List.reverse(handlers.initializers)))(function () {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(parentInitializer)(function () {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(function __do() {\n handlePending(st.pendingQueries)();\n return handlePending(st.pendingOuts)();\n });\n });\n }), preInits),\n finalizers: handlers.finalizers\n };\n })(lchs);\n });\n };\n };\n var runComponent = function (lchs) {\n return function (handler) {\n return function (j) {\n return Halogen_Component.unComponent(function (c) {\n return function __do() {\n var v = newLifecycleHandlers();\n var v1 = Halogen_Aff_Driver_State.initDriverState(c)(j)(handler)(v)();\n var v2 = Effect_Ref.read(lchs)();\n Effect_Ref.write({\n initializers: Data_List_Types.Nil.value,\n finalizers: v2.finalizers\n })(lchs)();\n Control_Bind.bindFlipped(Effect.bindEffect)(Halogen_Aff_Driver_State.unDriverStateX(function ($83) {\n return render(lchs)((function (v3) {\n return v3.selfRef;\n })($83));\n }))(Effect_Ref.read(v1))();\n Control_Bind.bindFlipped(Effect.bindEffect)(squashChildInitializers(lchs)(v2.initializers))(Effect_Ref.read(v1))();\n return v1;\n };\n });\n };\n };\n };\n var renderChild = function (lchs) {\n return function (handler) {\n return function (childrenInRef) {\n return function (childrenOutRef) {\n return Halogen_Component.unComponentSlot(function (slot) {\n return function __do() {\n var v = Effect_Ref.read(childrenInRef)();\n var v1 = (function () {\n var v1 = slot.pop(v);\n if (v1 instanceof Data_Maybe.Just) {\n Effect_Ref.write(v1.value0.value1)(childrenInRef)();\n var v2 = Effect_Ref.read(v1.value0.value0)();\n Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return function __do() {\n Data_Function.flip(Effect_Ref.write)(st.handlerRef)(function ($84) {\n return Data_Maybe.maybe(Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Unit.unit))(handler)(slot.output($84));\n })();\n return handleAff(Halogen_Aff_Driver_Eval.evalM(render)(st.selfRef)(st[\"component\"][\"eval\"](slot.input)))();\n };\n })(v2)();\n return v1.value0.value0;\n };\n if (v1 instanceof Data_Maybe.Nothing) {\n if (slot.input instanceof Halogen_Query_HalogenQ.Receive) {\n return runComponent(lchs)(function ($85) {\n return Data_Maybe.maybe(Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Unit.unit))(handler)(slot.output($85));\n })(slot.input.value0)(slot.component)();\n };\n return Effect_Exception[\"throw\"](\"Halogen internal error: slot input was not a Receive query\")();\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver (line 232, column 14 - line 246, column 7): \" + [ v1.constructor.name ]);\n })();\n var v2 = Data_Functor.map(Effect.functorEffect)(function ($86) {\n return Data_Maybe.isJust(slot.get($86));\n })(Effect_Ref.read(childrenOutRef))();\n Control_Applicative.when(Effect.applicativeEffect)(v2)(Effect_Console.warn(\"Halogen: Duplicate slot address was detected during rendering, unexpected results may occur\"))();\n Effect_Ref.modify_(slot.set(v1))(childrenOutRef)();\n return Control_Bind.bind(Effect.bindEffect)(Effect_Ref.read(v1))(Halogen_Aff_Driver_State.renderStateX(Effect.functorEffect)(function (v3) {\n if (v3 instanceof Data_Maybe.Nothing) {\n return Effect_Exception[\"throw\"](\"Halogen internal error: child was not initialized in renderChild\");\n };\n if (v3 instanceof Data_Maybe.Just) {\n return Control_Applicative.pure(Effect.applicativeEffect)(renderSpec.renderChild(v3.value0));\n };\n throw new Error(\"Failed pattern match at Halogen.Aff.Driver (line 250, column 37 - line 252, column 50): \" + [ v3.constructor.name ]);\n }))();\n };\n });\n };\n };\n };\n };\n var render = function (lchs) {\n return function ($$var) {\n return function __do() {\n var v = Effect_Ref.read($$var)();\n var v1 = Data_Functor.map(Effect.functorEffect)(Data_Maybe.isNothing)(Effect_Ref.read(v.pendingHandlers))();\n Control_Applicative.when(Effect.applicativeEffect)(v1)(Effect_Ref.write(new Data_Maybe.Just(Data_List_Types.Nil.value))(v.pendingHandlers))();\n Effect_Ref.write(Halogen_Data_Slot.empty)(v.childrenOut)();\n Effect_Ref.write(v.children)(v.childrenIn)();\n var handler = function ($87) {\n return Halogen_Aff_Driver_Eval.queueOrRun(v.pendingHandlers)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_Aff_Driver_Eval.evalF(render)(v.selfRef)($87)));\n };\n var childHandler = function ($88) {\n return Halogen_Aff_Driver_Eval.queueOrRun(v.pendingQueries)(handler(Halogen_Query_Input.Action.create($88)));\n };\n var v2 = renderSpec.render(function ($89) {\n return handleAff(handler($89));\n })(renderChild(lchs)(childHandler)(v.childrenIn)(v.childrenOut))(v.component.render(v.state))(v.rendering)();\n var v3 = Effect_Ref.read(v.childrenOut)();\n var v4 = Effect_Ref.read(v.childrenIn)();\n Halogen_Data_Slot.foreachSlot(Effect.applicativeEffect)(v4)(function (v5) {\n return function __do() {\n var v6 = Effect_Ref.read(v5)();\n Halogen_Aff_Driver_State.renderStateX_(Effect.applicativeEffect)(renderSpec.removeChild)(v6)();\n return finalize(lchs)(v6)();\n };\n })();\n Data_Function.flip(Effect_Ref.modify_)(v.selfRef)(Halogen_Aff_Driver_State.mapDriverState(function (ds$prime) {\n return {\n component: ds$prime.component,\n state: ds$prime.state,\n refs: ds$prime.refs,\n children: v3,\n childrenIn: ds$prime.childrenIn,\n childrenOut: ds$prime.childrenOut,\n selfRef: ds$prime.selfRef,\n handlerRef: ds$prime.handlerRef,\n pendingQueries: ds$prime.pendingQueries,\n pendingOuts: ds$prime.pendingOuts,\n pendingHandlers: ds$prime.pendingHandlers,\n rendering: new Data_Maybe.Just(v2),\n fresh: ds$prime.fresh,\n subscriptions: ds$prime.subscriptions,\n forks: ds$prime.forks,\n lifecycleHandlers: ds$prime.lifecycleHandlers\n };\n }))();\n return Control_Applicative.when(Effect.applicativeEffect)(v1)(Data_Function.flip(Control_Monad_Rec_Class.tailRecM(Control_Monad_Rec_Class.monadRecEffect))(Data_Unit.unit)(function (v5) {\n return function __do() {\n var v6 = Effect_Ref.read(v.pendingHandlers)();\n Effect_Ref.write(new Data_Maybe.Just(Data_List_Types.Nil.value))(v.pendingHandlers)();\n Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(function ($90) {\n return handleAff(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_List_Types.foldableList)(Control_Monad_Fork_Class.fork(Control_Monad_Fork_Class.monadForkAff))(Data_List.reverse($90)));\n })(v6)();\n var v7 = Effect_Ref.read(v.pendingHandlers)();\n var $69 = Data_Maybe.maybe(false)(Data_List[\"null\"])(v7);\n if ($69) {\n return Data_Functor.voidLeft(Effect.functorEffect)(Effect_Ref.write(Data_Maybe.Nothing.value)(v.pendingHandlers))(new Control_Monad_Rec_Class.Done(Data_Unit.unit))();\n };\n return new Control_Monad_Rec_Class.Loop(Data_Unit.unit);\n };\n }))();\n };\n };\n };\n var finalize = function (lchs) {\n return Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return function __do() {\n cleanupSubscriptionsAndForks(st)();\n var f = Halogen_Aff_Driver_Eval.evalM(render)(st.selfRef)(st[\"component\"][\"eval\"](new Halogen_Query_HalogenQ.Finalize(Data_Unit.unit)));\n Effect_Ref.modify_(function (handlers) {\n return {\n initializers: handlers.initializers,\n finalizers: new Data_List_Types.Cons(f, handlers.finalizers)\n };\n })(lchs)();\n return Halogen_Data_Slot.foreachSlot(Effect.applicativeEffect)(st.children)(function (v) {\n return function __do() {\n var v1 = Effect_Ref.read(v)();\n return finalize(lchs)(v1)();\n };\n })();\n };\n });\n };\n var evalDriver = function (disposed) {\n return function (ref) {\n return function (q) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref.read(disposed)))(function (v) {\n if (v) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(Data_Maybe.Nothing.value);\n };\n return Halogen_Aff_Driver_Eval.evalQ(render)(ref)(q);\n });\n };\n };\n };\n var dispose = function (disposed) {\n return function (lchs) {\n return function (dsx) {\n return function (subsRef) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(function __do() {\n var v = Effect_Ref.read(disposed)();\n if (v) {\n return Data_Unit.unit;\n };\n Effect_Ref.write(true)(disposed)();\n Control_Bind.bindFlipped(Effect.bindEffect)(Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Map_Internal.foldableMap)(function ($91) {\n return Effect_Aff.launchAff_(Effect_Aff_AVar.kill(Effect_Exception.error(\"disposed\"))($91));\n }))(Effect_Ref.read(subsRef))();\n finalize(lchs)(dsx)();\n return Halogen_Aff_Driver_State.unDriverStateX(function ($92) {\n return Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(renderSpec.dispose)((function (v1) {\n return v1.rendering;\n })($92));\n })(dsx)();\n });\n };\n };\n };\n };\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(newLifecycleHandlers))(function (v) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"new\"](0)))(function (v1) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Effect_Ref[\"new\"](false)))(function (v2) {\n return Halogen_Aff_Driver_Eval.handleLifecycle(v)(function __do() {\n var v3 = Effect_Ref[\"new\"](Data_Map_Internal.empty)();\n var v4 = Control_Bind.bindFlipped(Effect.bindEffect)(Effect_Ref.read)(runComponent(v)(rootHandler(v3))(i)(component))();\n return Halogen_Aff_Driver_State.unDriverStateX(function (st) {\n return Control_Applicative.pure(Effect.applicativeEffect)({\n query: evalDriver(v2)(st.selfRef),\n subscribe: subscribe(v1)(v3),\n dispose: dispose(v2)(v)(v4)(v3)\n });\n })(v4)();\n });\n });\n });\n });\n };\n };\n };\n exports[\"runUI\"] = runUI;\n})(PS[\"Halogen.Aff.Driver\"] = PS[\"Halogen.Aff.Driver\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Monad_Error_Class = PS[\"Control.Monad.Error.Class\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Either = PS[\"Data.Either\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Exception = PS[\"Effect.Exception\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_Event_EventTarget = PS[\"Web.Event.EventTarget\"];\n var Web_HTML = PS[\"Web.HTML\"];\n var Web_HTML_Event_EventTypes = PS[\"Web.HTML.Event.EventTypes\"];\n var Web_HTML_HTMLDocument = PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_HTMLDocument_ReadyState = PS[\"Web.HTML.HTMLDocument.ReadyState\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_Window = PS[\"Web.HTML.Window\"]; \n var selectElement = function (query) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Control_Bind.bindFlipped(Effect.bindEffect)(Control_Bind.composeKleisliFlipped(Effect.bindEffect)(function ($12) {\n return Web_DOM_ParentNode.querySelector(query)(Web_HTML_HTMLDocument.toParentNode($12));\n })(Web_HTML_Window.document))(Web_HTML.window)))(function (v) {\n return Control_Applicative.pure(Effect_Aff.applicativeAff)(Control_Bind.bindFlipped(Data_Maybe.bindMaybe)(Web_HTML_HTMLElement.fromElement)(v));\n });\n };\n var runHalogenAff = Effect_Aff.runAff_(Data_Either.either(Effect_Exception.throwException)(Data_Function[\"const\"](Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit))));\n exports[\"selectElement\"] = selectElement;\n exports[\"runHalogenAff\"] = runHalogenAff;\n})(PS[\"Halogen.Aff.Util\"] = PS[\"Halogen.Aff.Util\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var Control_Applicative = PS[\"Control.Applicative\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Category = PS[\"Control.Category\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_HeytingAlgebra = PS[\"Data.HeytingAlgebra\"];\n var Data_Maybe = PS[\"Data.Maybe\"];\n var Data_Newtype = PS[\"Data.Newtype\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Effect_Ref = PS[\"Effect.Ref\"];\n var Effect_Uncurried = PS[\"Effect.Uncurried\"];\n var Halogen_Aff_Driver = PS[\"Halogen.Aff.Driver\"];\n var Halogen_Aff_Driver_State = PS[\"Halogen.Aff.Driver.State\"];\n var Halogen_Component = PS[\"Halogen.Component\"];\n var Halogen_HTML_Core = PS[\"Halogen.HTML.Core\"];\n var Halogen_Query_Input = PS[\"Halogen.Query.Input\"];\n var Halogen_VDom = PS[\"Halogen.VDom\"];\n var Halogen_VDom_DOM = PS[\"Halogen.VDom.DOM\"];\n var Halogen_VDom_DOM_Prop = PS[\"Halogen.VDom.DOM.Prop\"];\n var Halogen_VDom_Machine = PS[\"Halogen.VDom.Machine\"];\n var Halogen_VDom_Thunk = PS[\"Halogen.VDom.Thunk\"];\n var Prelude = PS[\"Prelude\"];\n var Unsafe_Reference = PS[\"Unsafe.Reference\"];\n var Web_DOM_Document = PS[\"Web.DOM.Document\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_Node = PS[\"Web.DOM.Node\"];\n var Web_HTML = PS[\"Web.HTML\"];\n var Web_HTML_HTMLDocument = PS[\"Web.HTML.HTMLDocument\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"];\n var Web_HTML_Window = PS[\"Web.HTML.Window\"];\n var substInParent = function (v) {\n return function (v1) {\n return function (v2) {\n if (v1 instanceof Data_Maybe.Just && v2 instanceof Data_Maybe.Just) {\n return Data_Functor[\"void\"](Effect.functorEffect)(Web_DOM_Node.insertBefore(v)(v1.value0)(v2.value0));\n };\n if (v1 instanceof Data_Maybe.Nothing && v2 instanceof Data_Maybe.Just) {\n return Data_Functor[\"void\"](Effect.functorEffect)(Web_DOM_Node.appendChild(v)(v2.value0));\n };\n return Control_Applicative.pure(Effect.applicativeEffect)(Data_Unit.unit);\n };\n };\n };\n var removeChild = function (v) {\n return function __do() {\n var v1 = Web_DOM_Node.parentNode(v.node)();\n return Data_Foldable.traverse_(Effect.applicativeEffect)(Data_Foldable.foldableMaybe)(function (pn) {\n return Web_DOM_Node.removeChild(v.node)(pn);\n })(v1)();\n };\n };\n var mkSpec = function (handler) {\n return function (renderChildRef) {\n return function (document) {\n var getNode = Halogen_Aff_Driver_State.unRenderStateX(function (v) {\n return v.node;\n });\n var done = function (st) {\n if (st instanceof Data_Maybe.Just) {\n return Halogen_VDom_Machine.halt(st.value0);\n };\n return Data_Unit.unit;\n };\n var buildWidget = function (spec) {\n var buildThunk = Halogen_VDom_Thunk.buildThunk(Data_Newtype.unwrap(Halogen_HTML_Core.newtypeHTML))(spec);\n var renderComponentSlot = function (cs) {\n var v = Effect_Ref.read(renderChildRef)();\n var v1 = v(cs)();\n var node = getNode(v1);\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(node, Data_Maybe.Nothing.value, patch, done));\n };\n var render = function (slot) {\n if (slot instanceof Halogen_Component.ComponentSlot) {\n return renderComponentSlot(slot.value0);\n };\n if (slot instanceof Halogen_Component.ThunkSlot) {\n var v = buildThunk(slot.value0);\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(v), new Data_Maybe.Just(v), patch, done));\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Driver (line 85, column 7 - line 90, column 75): \" + [ slot.constructor.name ]);\n };\n var patch = function (st, slot) {\n if (st instanceof Data_Maybe.Just) {\n if (slot instanceof Halogen_Component.ComponentSlot) {\n Halogen_VDom_Machine.halt(st.value0);\n return renderComponentSlot(slot.value0);\n };\n if (slot instanceof Halogen_Component.ThunkSlot) {\n var v = Halogen_VDom_Machine.step(st.value0, slot.value0);\n return Halogen_VDom_Machine.mkStep(new Halogen_VDom_Machine.Step(Halogen_VDom_Machine.extract(v), new Data_Maybe.Just(v), patch, done));\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Driver (line 98, column 22 - line 104, column 79): \" + [ slot.constructor.name ]);\n };\n return render(slot);\n };\n return render;\n };\n var buildAttributes = Halogen_VDom_DOM_Prop.buildProp(handler);\n return {\n buildWidget: buildWidget,\n buildAttributes: buildAttributes,\n document: document\n };\n };\n };\n };\n var renderSpec = function (document) {\n return function (container) {\n var render = function (handler) {\n return function (child) {\n return function (v) {\n return function (v1) {\n if (v1 instanceof Data_Maybe.Nothing) {\n return function __do() {\n var v2 = Effect_Ref[\"new\"](child)();\n var spec = mkSpec(handler)(v2)(document);\n var v3 = Halogen_VDom_DOM.buildVDom(spec)(v);\n var node = Halogen_VDom_Machine.extract(v3);\n Data_Functor[\"void\"](Effect.functorEffect)(Web_DOM_Node.appendChild(node)(Web_HTML_HTMLElement.toNode(container)))();\n return {\n machine: v3,\n node: node,\n renderChildRef: v2\n };\n };\n };\n if (v1 instanceof Data_Maybe.Just) {\n return function __do() {\n Effect_Ref.write(child)(v1.value0.renderChildRef)();\n var v2 = Web_DOM_Node.parentNode(v1.value0.node)();\n var v3 = Web_DOM_Node.nextSibling(v1.value0.node)();\n var v4 = Halogen_VDom_Machine.step(v1.value0.machine, v);\n var newNode = Halogen_VDom_Machine.extract(v4);\n Control_Applicative.when(Effect.applicativeEffect)(Data_HeytingAlgebra.not(Data_HeytingAlgebra.heytingAlgebraFunction(Data_HeytingAlgebra.heytingAlgebraFunction(Data_HeytingAlgebra.heytingAlgebraBoolean)))(Unsafe_Reference.unsafeRefEq)(v1.value0.node)(newNode))(substInParent(newNode)(v3)(v2))();\n return {\n machine: v4,\n node: newNode,\n renderChildRef: v1.value0.renderChildRef\n };\n };\n };\n throw new Error(\"Failed pattern match at Halogen.VDom.Driver (line 159, column 5 - line 175, column 80): \" + [ v1.constructor.name ]);\n };\n };\n };\n };\n return {\n render: render,\n renderChild: Control_Category.identity(Control_Category.categoryFn),\n removeChild: removeChild,\n dispose: removeChild\n };\n };\n };\n var runUI = function (component) {\n return function (i) {\n return function (element) {\n return Control_Bind.bind(Effect_Aff.bindAff)(Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Data_Functor.map(Effect.functorEffect)(Web_HTML_HTMLDocument.toDocument)(Control_Bind.bindFlipped(Effect.bindEffect)(Web_HTML_Window.document)(Web_HTML.window))))(function (v) {\n return Halogen_Aff_Driver.runUI(renderSpec(v)(element))(component)(i);\n });\n };\n };\n };\n exports[\"runUI\"] = runUI;\n})(PS[\"Halogen.VDom.Driver\"] = PS[\"Halogen.VDom.Driver\"] || {});\n(function(exports) {\n \"use strict\";\n\n exports._mainImpl = function() {\n return window.PS = PS;\n }\n})(PS[\"Main\"] = PS[\"Main\"] || {});\n(function(exports) {\n // Generated by purs version 0.12.2\n \"use strict\";\n var $foreign = PS[\"Main\"];\n var App = PS[\"App\"];\n var Component_AccountSettings = PS[\"Component.AccountSettings\"];\n var Component_Add = PS[\"Component.Add\"];\n var Component_BList = PS[\"Component.BList\"];\n var Component_NList = PS[\"Component.NList\"];\n var Component_NNote = PS[\"Component.NNote\"];\n var Control_Bind = PS[\"Control.Bind\"];\n var Control_Semigroupoid = PS[\"Control.Semigroupoid\"];\n var Data_Foldable = PS[\"Data.Foldable\"];\n var Data_Function = PS[\"Data.Function\"];\n var Data_Functor = PS[\"Data.Functor\"];\n var Data_Unit = PS[\"Data.Unit\"];\n var Effect = PS[\"Effect\"];\n var Effect_Aff = PS[\"Effect.Aff\"];\n var Effect_Class = PS[\"Effect.Class\"];\n var Halogen_Aff = PS[\"Halogen.Aff\"];\n var Halogen_Aff_Util = PS[\"Halogen.Aff.Util\"];\n var Halogen_VDom_Driver = PS[\"Halogen.VDom.Driver\"];\n var Model = PS[\"Model\"];\n var Prelude = PS[\"Prelude\"];\n var Web_DOM_Element = PS[\"Web.DOM.Element\"];\n var Web_DOM_ParentNode = PS[\"Web.DOM.ParentNode\"];\n var Web_Event_Event = PS[\"Web.Event.Event\"];\n var Web_HTML_HTMLElement = PS[\"Web.HTML.HTMLElement\"]; \n var showFooter = Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(\".user_footer\"))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Effect_Class.liftEffect(Effect_Aff.monadEffectAff)(Web_DOM_Element.removeAttribute(\"hidden\")(Web_HTML_HTMLElement.toElement(el)));\n }));\n var renderNotes = function (renderElSelector) {\n return function (notes) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_NList.nlist(notes))(Data_Unit.unit)(el)))(function () {\n return showFooter;\n });\n })));\n };\n };\n var renderNote = function (renderElSelector) {\n return function (note) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_NNote.nnote(note))(Data_Unit.unit)(el));\n })));\n };\n };\n var renderBookmarks = function (renderElSelector) {\n return function (bmarks) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Control_Bind.discard(Control_Bind.discardUnit)(Effect_Aff.bindAff)(Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_BList.blist(bmarks))(Data_Unit.unit)(el)))(function () {\n return showFooter;\n });\n })));\n };\n };\n var renderAddForm = function (renderElSelector) {\n return function (bmark) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Halogen_VDom_Driver.runUI(Component_Add.addbmark(bmark))(Data_Unit.unit)(el);\n })));\n };\n };\n var renderAccountSettings = function (renderElSelector) {\n return function (accountSettings) {\n return Halogen_Aff_Util.runHalogenAff(Control_Bind.bind(Effect_Aff.bindAff)(Halogen_Aff_Util.selectElement(renderElSelector))(Data_Foldable.traverse_(Effect_Aff.applicativeAff)(Data_Foldable.foldableMaybe)(function (el) {\n return Data_Functor[\"void\"](Effect_Aff.functorAff)(Halogen_VDom_Driver.runUI(Component_AccountSettings.usetting(accountSettings))(Data_Unit.unit)(el));\n })));\n };\n };\n var main = $foreign[\"_mainImpl\"];\n var logoutE = function (e) {\n return Control_Bind.bindFlipped(Effect.bindEffect)(function ($0) {\n return Data_Functor[\"void\"](Effect.functorEffect)(Effect_Aff.launchAff(App.logout($0)));\n })(Web_Event_Event.preventDefault(e));\n };\n exports[\"main\"] = main;\n exports[\"logoutE\"] = logoutE;\n exports[\"renderBookmarks\"] = renderBookmarks;\n exports[\"renderAddForm\"] = renderAddForm;\n exports[\"renderNotes\"] = renderNotes;\n exports[\"renderNote\"] = renderNote;\n exports[\"renderAccountSettings\"] = renderAccountSettings;\n exports[\"showFooter\"] = showFooter;\n exports[\"_mainImpl\"] = $foreign[\"_mainImpl\"];\n})(PS[\"Main\"] = PS[\"Main\"] || {});\nPS[\"Main\"].main();"]} \ No newline at end of file diff --git a/static/js/app.min.map.gz b/static/js/app.min.map.gz index 83a140f3e868083255505f23f4171cfb5a852e62..de0e34b65d5208adb298e258ec486b7931c8ccb6 100644 GIT binary patch delta 147452 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ð$?uk)ZWXN!?UMW)YE3pg7AvdZ^1S{;z= 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 S55D>J^ZyUmAel7|i4p)WKu@#)

    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