UNPKG

create-expo-cljs-app

Version:

Create a react native application with Expo and Shadow-CLJS!

1 lines 155 kB
["^ ","~:output",["^ ","~:js","goog.provide('reagent.ratom');\nif((typeof reagent !== 'undefined') && (typeof reagent.ratom !== 'undefined') && (typeof reagent.ratom.debug !== 'undefined')){\n} else {\nreagent.ratom.debug = false;\n}\nif((typeof reagent !== 'undefined') && (typeof reagent.ratom !== 'undefined') && (typeof reagent.ratom.generation !== 'undefined')){\n} else {\nreagent.ratom.generation = (0);\n}\nif((typeof reagent !== 'undefined') && (typeof reagent.ratom !== 'undefined') && (typeof reagent.ratom._running !== 'undefined')){\n} else {\nreagent.ratom._running = cljs.core.atom.cljs$core$IFn$_invoke$arity$1((0));\n}\nreagent.ratom.reactive_QMARK_ = (function reagent$ratom$reactive_QMARK_(){\nreturn (!((reagent.ratom._STAR_ratom_context_STAR_ == null)));\n});\nreagent.ratom.running = (function reagent$ratom$running(){\nreturn (cljs.core.deref(reagent.ratom._running));\n});\nreagent.ratom.arr_len = (function reagent$ratom$arr_len(x){\nif((x == null)){\nreturn (0);\n} else {\nreturn x.length;\n}\n});\nreagent.ratom.arr_eq = (function reagent$ratom$arr_eq(x,y){\nvar len = reagent.ratom.arr_len(x);\nif((len === reagent.ratom.arr_len(y))){\nvar i = (0);\nwhile(true){\nvar or__4126__auto__ = (i === len);\nif(or__4126__auto__){\nreturn or__4126__auto__;\n} else {\nif(((x[i]) === (y[i]))){\nvar G__45603 = (i + (1));\ni = G__45603;\ncontinue;\n} else {\nreturn false;\n}\n}\nbreak;\n}\n} else {\nreturn false;\n}\n});\n/**\n * When f is executed, if (f) derefs any ratoms, they are then added to 'obj.captured'(*ratom-context*).\n * \n * See function notify-deref-watcher! to know how *ratom-context* is updated\n */\nreagent.ratom.in_context = (function reagent$ratom$in_context(obj,f){\nvar _STAR_ratom_context_STAR__orig_val__45107 = reagent.ratom._STAR_ratom_context_STAR_;\nvar _STAR_ratom_context_STAR__temp_val__45108 = obj;\n(reagent.ratom._STAR_ratom_context_STAR_ = _STAR_ratom_context_STAR__temp_val__45108);\n\ntry{return (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n}finally {(reagent.ratom._STAR_ratom_context_STAR_ = _STAR_ratom_context_STAR__orig_val__45107);\n}});\n/**\n * Returns `(in-context f r)`. Calls `_update-watching` on r with any\n * `deref`ed atoms captured during `in-context`, if any differ from the\n * `watching` field of r. Clears the `dirty?` flag on r.\n * \n * Inside '_update-watching' along with adding the ratoms in 'r.watching' of reaction,\n * the reaction is also added to the list of watches on each ratoms f derefs.\n */\nreagent.ratom.deref_capture = (function reagent$ratom$deref_capture(f,r){\n(r.captured = null);\n\n(r.ratomGeneration = (reagent.ratom.generation = (reagent.ratom.generation + (1))));\n\n\nvar res = reagent.ratom.in_context(r,f);\nvar c = r.captured;\n(r.dirty_QMARK_ = false);\n\nif(reagent.ratom.arr_eq(c,r.watching)){\n} else {\nr._update_watching(c);\n}\n\nreturn res;\n});\n/**\n * Add `derefed` to the `captured` field of `*ratom-context*`.\n * \n * See also `in-context`\n */\nreagent.ratom.notify_deref_watcher_BANG_ = (function reagent$ratom$notify_deref_watcher_BANG_(derefed){\nvar temp__5739__auto__ = reagent.ratom._STAR_ratom_context_STAR_;\nif((temp__5739__auto__ == null)){\nreturn null;\n} else {\nvar r = temp__5739__auto__;\nvar c = r.captured;\nif((c == null)){\nreturn (r.captured = [derefed]);\n} else {\nreturn c.push(derefed);\n}\n}\n});\nreagent.ratom.check_watches = (function reagent$ratom$check_watches(old,new$){\nif(reagent.ratom.debug){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(reagent.ratom._running,cljs.core._PLUS_,(cljs.core.count(new$) - cljs.core.count(old)));\n} else {\n}\n\nreturn new$;\n});\nreagent.ratom.add_w = (function reagent$ratom$add_w(this$,key,f){\nvar w = this$.watches;\n(this$.watches = reagent.ratom.check_watches(w,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(w,key,f)));\n\nreturn (this$.watchesArr = null);\n});\nreagent.ratom.remove_w = (function reagent$ratom$remove_w(this$,key){\nvar w = this$.watches;\n(this$.watches = reagent.ratom.check_watches(w,cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(w,key)));\n\nreturn (this$.watchesArr = null);\n});\nreagent.ratom.notify_w = (function reagent$ratom$notify_w(this$,old,new$){\nvar w = this$.watchesArr;\nvar a = (((w == null))?(this$.watchesArr = cljs.core.reduce_kv((function (p1__45165_SHARP_,p2__45166_SHARP_,p3__45167_SHARP_){\nvar G__45170 = p1__45165_SHARP_;\nG__45170.push(p2__45166_SHARP_);\n\nG__45170.push(p3__45167_SHARP_);\n\nreturn G__45170;\n}),[],this$.watches)):w);\nvar len = a.length;\nvar i = (0);\nwhile(true){\nif((i < len)){\nvar k_45612 = (a[i]);\nvar f_45613 = (a[(i + (1))]);\n(f_45613.cljs$core$IFn$_invoke$arity$4 ? f_45613.cljs$core$IFn$_invoke$arity$4(k_45612,this$,old,new$) : f_45613.call(null,k_45612,this$,old,new$));\n\nvar G__45614 = ((2) + i);\ni = G__45614;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n});\nreagent.ratom.pr_atom = (function reagent$ratom$pr_atom(a,writer,opts,s,v){\ncljs.core._write(writer,[\"#object[reagent.ratom.\",cljs.core.str.cljs$core$IFn$_invoke$arity$1(s),\" \"].join(''));\n\ncljs.core.pr_writer((function (){var _STAR_ratom_context_STAR__orig_val__45173 = reagent.ratom._STAR_ratom_context_STAR_;\nvar _STAR_ratom_context_STAR__temp_val__45174 = null;\n(reagent.ratom._STAR_ratom_context_STAR_ = _STAR_ratom_context_STAR__temp_val__45174);\n\ntry{return v;\n}finally {(reagent.ratom._STAR_ratom_context_STAR_ = _STAR_ratom_context_STAR__orig_val__45173);\n}})(),writer,opts);\n\nreturn cljs.core._write(writer,\"]\");\n});\nif((typeof reagent !== 'undefined') && (typeof reagent.ratom !== 'undefined') && (typeof reagent.ratom.rea_queue !== 'undefined')){\n} else {\nreagent.ratom.rea_queue = null;\n}\nreagent.ratom.rea_enqueue = (function reagent$ratom$rea_enqueue(r){\nif((reagent.ratom.rea_queue == null)){\n(reagent.ratom.rea_queue = []);\n\nreagent.impl.batching.schedule();\n} else {\n}\n\nreturn reagent.ratom.rea_queue.push(r);\n});\nreagent.ratom.flush_BANG_ = (function reagent$ratom$flush_BANG_(){\nwhile(true){\nvar q = reagent.ratom.rea_queue;\nif((q == null)){\nreturn null;\n} else {\n(reagent.ratom.rea_queue = null);\n\nvar n__4613__auto___45618 = q.length;\nvar i_45619 = (0);\nwhile(true){\nif((i_45619 < n__4613__auto___45618)){\n(q[i_45619])._queued_run();\n\nvar G__45620 = (i_45619 + (1));\ni_45619 = G__45620;\ncontinue;\n} else {\n}\nbreak;\n}\n\ncontinue;\n}\nbreak;\n}\n});\n(reagent.impl.batching.ratom_flush = reagent.ratom.flush_BANG_);\n\n/**\n * @interface\n */\nreagent.ratom.IReactiveAtom = function(){};\n\n\n/**\n* @constructor\n * @implements {cljs.core.IWatchable}\n * @implements {cljs.core.IAtom}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IReset}\n * @implements {cljs.core.ISwap}\n * @implements {reagent.ratom.IReactiveAtom}\n * @implements {cljs.core.IMeta}\n * @implements {cljs.core.IDeref}\n * @implements {cljs.core.IPrintWithWriter}\n * @implements {cljs.core.IWithMeta}\n*/\nreagent.ratom.RAtom = (function (state,meta,validator,watches){\nthis.state = state;\nthis.meta = meta;\nthis.validator = validator;\nthis.watches = watches;\nthis.cljs$lang$protocol_mask$partition0$ = 2154201088;\nthis.cljs$lang$protocol_mask$partition1$ = 114690;\n});\n(reagent.ratom.RAtom.prototype.reagent$ratom$IReactiveAtom$ = cljs.core.PROTOCOL_SENTINEL);\n\n(reagent.ratom.RAtom.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (a,w,opts){\nvar self__ = this;\nvar a__$1 = this;\nreturn reagent.ratom.pr_atom(a__$1,w,opts,\"RAtom\",new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\"val\",\"val\",128701612),a__$1.cljs$core$IDeref$_deref$arity$1(null)], null));\n}));\n\n(reagent.ratom.RAtom.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_){\nvar self__ = this;\nvar ___$1 = this;\nreturn self__.meta;\n}));\n\n(reagent.ratom.RAtom.prototype.cljs$core$IHash$_hash$arity$1 = (function (this$){\nvar self__ = this;\nvar this$__$1 = this;\nreturn goog.getUid(this$__$1);\n}));\n\n(reagent.ratom.RAtom.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (o,other){\nvar self__ = this;\nvar o__$1 = this;\nreturn (o__$1 === other);\n}));\n\n(reagent.ratom.RAtom.prototype.cljs$core$IReset$_reset_BANG_$arity$2 = (function (a,new_value){\nvar self__ = this;\nvar a__$1 = this;\nif((self__.validator == null)){\n} else {\nif(cljs.core.truth_((self__.validator.cljs$core$IFn$_invoke$arity$1 ? self__.validator.cljs$core$IFn$_invoke$arity$1(new_value) : self__.validator.call(null,new_value)))){\n} else {\nthrow (new Error([\"Assert failed: \",\"Validator rejected reference state\",\"\\n\",\"(validator new-value)\"].join('')));\n}\n}\n\nvar old_value = self__.state;\n(self__.state = new_value);\n\nif((self__.watches == null)){\n} else {\nreagent.ratom.notify_w(a__$1,old_value,new_value);\n}\n\nreturn new_value;\n}));\n\n(reagent.ratom.RAtom.prototype.cljs$core$ISwap$_swap_BANG_$arity$2 = (function (a,f){\nvar self__ = this;\nvar a__$1 = this;\nreturn a__$1.cljs$core$IReset$_reset_BANG_$arity$2(null,(f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(self__.state) : f.call(null,self__.state)));\n}));\n\n(reagent.ratom.RAtom.prototype.cljs$core$ISwap$_swap_BANG_$arity$3 = (function (a,f,x){\nvar self__ = this;\nvar a__$1 = this;\nreturn a__$1.cljs$core$IReset$_reset_BANG_$arity$2(null,(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(self__.state,x) : f.call(null,self__.state,x)));\n}));\n\n(reagent.ratom.RAtom.prototype.cljs$core$ISwap$_swap_BANG_$arity$4 = (function (a,f,x,y){\nvar self__ = this;\nvar a__$1 = this;\nreturn a__$1.cljs$core$IReset$_reset_BANG_$arity$2(null,(f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(self__.state,x,y) : f.call(null,self__.state,x,y)));\n}));\n\n(reagent.ratom.RAtom.prototype.cljs$core$ISwap$_swap_BANG_$arity$5 = (function (a,f,x,y,more){\nvar self__ = this;\nvar a__$1 = this;\nreturn a__$1.cljs$core$IReset$_reset_BANG_$arity$2(null,cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,self__.state,x,y,more));\n}));\n\n(reagent.ratom.RAtom.prototype.cljs$core$IWatchable$_notify_watches$arity$3 = (function (this$,old,new$){\nvar self__ = this;\nvar this$__$1 = this;\nreturn reagent.ratom.notify_w(this$__$1,old,new$);\n}));\n\n(reagent.ratom.RAtom.prototype.cljs$core$IWatchable$_add_watch$arity$3 = (function (this$,key,f){\nvar self__ = this;\nvar this$__$1 = this;\nreturn reagent.ratom.add_w(this$__$1,key,f);\n}));\n\n(reagent.ratom.RAtom.prototype.cljs$core$IWatchable$_remove_watch$arity$2 = (function (this$,key){\nvar self__ = this;\nvar this$__$1 = this;\nreturn reagent.ratom.remove_w(this$__$1,key);\n}));\n\n(reagent.ratom.RAtom.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_,new_meta){\nvar self__ = this;\nvar ___$1 = this;\nreturn (new reagent.ratom.RAtom(self__.state,new_meta,self__.validator,self__.watches));\n}));\n\n(reagent.ratom.RAtom.prototype.cljs$core$IDeref$_deref$arity$1 = (function (this$){\nvar self__ = this;\nvar this$__$1 = this;\nreagent.ratom.notify_deref_watcher_BANG_(this$__$1);\n\nreturn self__.state;\n}));\n\n(reagent.ratom.RAtom.getBasis = (function (){\nreturn new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(new cljs.core.Symbol(null,\"state\",\"state\",-348086572,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\"mutable\",\"mutable\",875778266),true], null)),new cljs.core.Symbol(null,\"meta\",\"meta\",-1154898805,null),new cljs.core.Symbol(null,\"validator\",\"validator\",-325659154,null),cljs.core.with_meta(new cljs.core.Symbol(null,\"watches\",\"watches\",1367433992,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\"mutable\",\"mutable\",875778266),true], null))], null);\n}));\n\n(reagent.ratom.RAtom.cljs$lang$type = true);\n\n(reagent.ratom.RAtom.cljs$lang$ctorStr = \"reagent.ratom/RAtom\");\n\n(reagent.ratom.RAtom.cljs$lang$ctorPrWriter = (function (this__4369__auto__,writer__4370__auto__,opt__4371__auto__){\nreturn cljs.core._write(writer__4370__auto__,\"reagent.ratom/RAtom\");\n}));\n\n/**\n * Positional factory function for reagent.ratom/RAtom.\n */\nreagent.ratom.__GT_RAtom = (function reagent$ratom$__GT_RAtom(state,meta,validator,watches){\nreturn (new reagent.ratom.RAtom(state,meta,validator,watches));\n});\n\n/**\n * Like clojure.core/atom, except that it keeps track of derefs.\n */\nreagent.ratom.atom = (function reagent$ratom$atom(var_args){\nvar G__45207 = arguments.length;\nswitch (G__45207) {\ncase 1:\nreturn reagent.ratom.atom.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));\n\nbreak;\ndefault:\nvar args_arr__4757__auto__ = [];\nvar len__4736__auto___45634 = arguments.length;\nvar i__4737__auto___45635 = (0);\nwhile(true){\nif((i__4737__auto___45635 < len__4736__auto___45634)){\nargs_arr__4757__auto__.push((arguments[i__4737__auto___45635]));\n\nvar G__45636 = (i__4737__auto___45635 + (1));\ni__4737__auto___45635 = G__45636;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__4758__auto__ = (new cljs.core.IndexedSeq(args_arr__4757__auto__.slice((1)),(0),null));\nreturn reagent.ratom.atom.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__4758__auto__);\n\n}\n});\n\n(reagent.ratom.atom.cljs$core$IFn$_invoke$arity$1 = (function (x){\nreturn reagent.ratom.__GT_RAtom(x,null,null,null);\n}));\n\n(reagent.ratom.atom.cljs$core$IFn$_invoke$arity$variadic = (function (x,p__45213){\nvar map__45215 = p__45213;\nvar map__45215__$1 = (((((!((map__45215 == null))))?(((((map__45215.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__45215.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,map__45215):map__45215);\nvar meta = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__45215__$1,new cljs.core.Keyword(null,\"meta\",\"meta\",1499536964));\nvar validator = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__45215__$1,new cljs.core.Keyword(null,\"validator\",\"validator\",-1966190681));\nreturn reagent.ratom.__GT_RAtom(x,meta,validator,null);\n}));\n\n/** @this {Function} */\n(reagent.ratom.atom.cljs$lang$applyTo = (function (seq45203){\nvar G__45204 = cljs.core.first(seq45203);\nvar seq45203__$1 = cljs.core.next(seq45203);\nvar self__4723__auto__ = this;\nreturn self__4723__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45204,seq45203__$1);\n}));\n\n(reagent.ratom.atom.cljs$lang$maxFixedArity = (1));\n\nreagent.ratom.cached_reaction = (function reagent$ratom$cached_reaction(f,o,k,obj,destroy){\nvar m = o.reagReactionCache;\nvar m__$1 = (((m == null))?cljs.core.PersistentArrayMap.EMPTY:m);\nvar r = (m__$1.cljs$core$IFn$_invoke$arity$2 ? m__$1.cljs$core$IFn$_invoke$arity$2(k,null) : m__$1.call(null,k,null));\nif((!((r == null)))){\nreturn cljs.core._deref(r);\n} else {\nif((reagent.ratom._STAR_ratom_context_STAR_ == null)){\nreturn (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n} else {\nvar r__$1 = (function (){var G__45239 = f;\nvar G__45240 = new cljs.core.Keyword(null,\"on-dispose\",\"on-dispose\",2105306360);\nvar G__45241 = (function (x){\nif(reagent.ratom.debug){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(reagent.ratom._running,cljs.core.dec);\n} else {\n}\n\nvar __45647 = o.reagReactionCache;\nvar __45648__$1 = cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(__45647,k);\n(o.reagReactionCache = __45648__$1);\n\nif((!((obj == null)))){\n(obj.reaction = null);\n} else {\n}\n\nif((!((destroy == null)))){\nreturn (destroy.cljs$core$IFn$_invoke$arity$1 ? destroy.cljs$core$IFn$_invoke$arity$1(x) : destroy.call(null,x));\n} else {\nreturn null;\n}\n});\nreturn (reagent.ratom.make_reaction.cljs$core$IFn$_invoke$arity$3 ? reagent.ratom.make_reaction.cljs$core$IFn$_invoke$arity$3(G__45239,G__45240,G__45241) : reagent.ratom.make_reaction.call(null,G__45239,G__45240,G__45241));\n})();\nvar v = cljs.core._deref(r__$1);\n(o.reagReactionCache = cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m__$1,k,r__$1));\n\nif(reagent.ratom.debug){\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(reagent.ratom._running,cljs.core.inc);\n} else {\n}\n\nif((!((obj == null)))){\n(obj.reaction = r__$1);\n} else {\n}\n\nreturn v;\n\n}\n}\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {reagent.ratom.IReactiveAtom}\n * @implements {cljs.core.IDeref}\n * @implements {cljs.core.IPrintWithWriter}\n*/\nreagent.ratom.Track = (function (f,args,reaction){\nthis.f = f;\nthis.args = args;\nthis.reaction = reaction;\nthis.cljs$lang$protocol_mask$partition0$ = 2153807872;\nthis.cljs$lang$protocol_mask$partition1$ = 0;\n});\n(reagent.ratom.Track.prototype.reagent$ratom$IReactiveAtom$ = cljs.core.PROTOCOL_SENTINEL);\n\n(reagent.ratom.Track.prototype.cljs$core$IDeref$_deref$arity$1 = (function (this$){\nvar self__ = this;\nvar this$__$1 = this;\nvar temp__5737__auto__ = self__.reaction;\nif((temp__5737__auto__ == null)){\nreturn reagent.ratom.cached_reaction((function (){\nreturn cljs.core.apply.cljs$core$IFn$_invoke$arity$2(self__.f,self__.args);\n}),self__.f,self__.args,this$__$1,null);\n} else {\nvar r = temp__5737__auto__;\nreturn cljs.core._deref(r);\n}\n}));\n\n(reagent.ratom.Track.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (_,other){\nvar self__ = this;\nvar ___$1 = this;\nreturn (((other instanceof reagent.ratom.Track)) && (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(self__.f,other.f)) && (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(self__.args,other.args)));\n}));\n\n(reagent.ratom.Track.prototype.cljs$core$IHash$_hash$arity$1 = (function (_){\nvar self__ = this;\nvar ___$1 = this;\nreturn cljs.core.hash(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.f,self__.args], null));\n}));\n\n(reagent.ratom.Track.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (a,w,opts){\nvar self__ = this;\nvar a__$1 = this;\nreturn reagent.ratom.pr_atom(a__$1,w,opts,\"Track\",new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\"val\",\"val\",128701612),a__$1.cljs$core$IDeref$_deref$arity$1(null),new cljs.core.Keyword(null,\"f\",\"f\",-1597136552),self__.f], null));\n}));\n\n(reagent.ratom.Track.getBasis = (function (){\nreturn new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\"f\",\"f\",43394975,null),new cljs.core.Symbol(null,\"args\",\"args\",-1338879193,null),cljs.core.with_meta(new cljs.core.Symbol(null,\"reaction\",\"reaction\",2131401315,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\"mutable\",\"mutable\",875778266),true], null))], null);\n}));\n\n(reagent.ratom.Track.cljs$lang$type = true);\n\n(reagent.ratom.Track.cljs$lang$ctorStr = \"reagent.ratom/Track\");\n\n(reagent.ratom.Track.cljs$lang$ctorPrWriter = (function (this__4369__auto__,writer__4370__auto__,opt__4371__auto__){\nreturn cljs.core._write(writer__4370__auto__,\"reagent.ratom/Track\");\n}));\n\n/**\n * Positional factory function for reagent.ratom/Track.\n */\nreagent.ratom.__GT_Track = (function reagent$ratom$__GT_Track(f,args,reaction){\nreturn (new reagent.ratom.Track(f,args,reaction));\n});\n\nreagent.ratom.make_track = (function reagent$ratom$make_track(f,args){\nreturn (new reagent.ratom.Track(f,args,null));\n});\nreagent.ratom.make_track_BANG_ = (function reagent$ratom$make_track_BANG_(f,args){\nvar t = reagent.ratom.make_track(f,args);\nvar r = (function (){var G__45276 = (function (){\nreturn t.cljs$core$IDeref$_deref$arity$1(null);\n});\nvar G__45277 = new cljs.core.Keyword(null,\"auto-run\",\"auto-run\",1958400437);\nvar G__45278 = true;\nreturn (reagent.ratom.make_reaction.cljs$core$IFn$_invoke$arity$3 ? reagent.ratom.make_reaction.cljs$core$IFn$_invoke$arity$3(G__45276,G__45277,G__45278) : reagent.ratom.make_reaction.call(null,G__45276,G__45277,G__45278));\n})();\ncljs.core.deref(r);\n\nreturn r;\n});\nreagent.ratom.track = (function reagent$ratom$track(var_args){\nvar args__4742__auto__ = [];\nvar len__4736__auto___45668 = arguments.length;\nvar i__4737__auto___45669 = (0);\nwhile(true){\nif((i__4737__auto___45669 < len__4736__auto___45668)){\nargs__4742__auto__.push((arguments[i__4737__auto___45669]));\n\nvar G__45670 = (i__4737__auto___45669 + (1));\ni__4737__auto___45669 = G__45670;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__4743__auto__ = ((((1) < args__4742__auto__.length))?(new cljs.core.IndexedSeq(args__4742__auto__.slice((1)),(0),null)):null);\nreturn reagent.ratom.track.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__4743__auto__);\n});\n\n(reagent.ratom.track.cljs$core$IFn$_invoke$arity$variadic = (function (f,args){\nif(cljs.core.ifn_QMARK_(f)){\n} else {\nthrow (new Error(\"Assert failed: (ifn? f)\"));\n}\n\nreturn reagent.ratom.make_track(f,args);\n}));\n\n(reagent.ratom.track.cljs$lang$maxFixedArity = (1));\n\n/** @this {Function} */\n(reagent.ratom.track.cljs$lang$applyTo = (function (seq45281){\nvar G__45282 = cljs.core.first(seq45281);\nvar seq45281__$1 = cljs.core.next(seq45281);\nvar self__4723__auto__ = this;\nreturn self__4723__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45282,seq45281__$1);\n}));\n\nreagent.ratom.track_BANG_ = (function reagent$ratom$track_BANG_(var_args){\nvar args__4742__auto__ = [];\nvar len__4736__auto___45675 = arguments.length;\nvar i__4737__auto___45676 = (0);\nwhile(true){\nif((i__4737__auto___45676 < len__4736__auto___45675)){\nargs__4742__auto__.push((arguments[i__4737__auto___45676]));\n\nvar G__45677 = (i__4737__auto___45676 + (1));\ni__4737__auto___45676 = G__45677;\ncontinue;\n} else {\n}\nbreak;\n}\n\nvar argseq__4743__auto__ = ((((1) < args__4742__auto__.length))?(new cljs.core.IndexedSeq(args__4742__auto__.slice((1)),(0),null)):null);\nreturn reagent.ratom.track_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__4743__auto__);\n});\n\n(reagent.ratom.track_BANG_.cljs$core$IFn$_invoke$arity$variadic = (function (f,args){\nif(cljs.core.ifn_QMARK_(f)){\n} else {\nthrow (new Error(\"Assert failed: (ifn? f)\"));\n}\n\nreturn reagent.ratom.make_track_BANG_(f,args);\n}));\n\n(reagent.ratom.track_BANG_.cljs$lang$maxFixedArity = (1));\n\n/** @this {Function} */\n(reagent.ratom.track_BANG_.cljs$lang$applyTo = (function (seq45291){\nvar G__45292 = cljs.core.first(seq45291);\nvar seq45291__$1 = cljs.core.next(seq45291);\nvar self__4723__auto__ = this;\nreturn self__4723__auto__.cljs$core$IFn$_invoke$arity$variadic(G__45292,seq45291__$1);\n}));\n\n\n/**\n* @constructor\n * @implements {cljs.core.IWatchable}\n * @implements {cljs.core.IAtom}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IReset}\n * @implements {cljs.core.ISwap}\n * @implements {reagent.ratom.IReactiveAtom}\n * @implements {cljs.core.IDeref}\n * @implements {cljs.core.IPrintWithWriter}\n*/\nreagent.ratom.RCursor = (function (ratom,path,reaction,state,watches){\nthis.ratom = ratom;\nthis.path = path;\nthis.reaction = reaction;\nthis.state = state;\nthis.watches = watches;\nthis.cljs$lang$protocol_mask$partition0$ = 2153807872;\nthis.cljs$lang$protocol_mask$partition1$ = 114690;\n});\n(reagent.ratom.RCursor.prototype._peek = (function (){\nvar self__ = this;\nvar this$ = this;\nvar _STAR_ratom_context_STAR__orig_val__45309 = reagent.ratom._STAR_ratom_context_STAR_;\nvar _STAR_ratom_context_STAR__temp_val__45310 = null;\n(reagent.ratom._STAR_ratom_context_STAR_ = _STAR_ratom_context_STAR__temp_val__45310);\n\ntry{return this$.cljs$core$IDeref$_deref$arity$1(null);\n}finally {(reagent.ratom._STAR_ratom_context_STAR_ = _STAR_ratom_context_STAR__orig_val__45309);\n}}));\n\n(reagent.ratom.RCursor.prototype._set_state = (function (oldstate,newstate){\nvar self__ = this;\nvar this$ = this;\nif((oldstate === newstate)){\nreturn null;\n} else {\n(self__.state = newstate);\n\nif((!((self__.watches == null)))){\nreturn reagent.ratom.notify_w(this$,oldstate,newstate);\n} else {\nreturn null;\n}\n}\n}));\n\n(reagent.ratom.RCursor.prototype.reagent$ratom$IReactiveAtom$ = cljs.core.PROTOCOL_SENTINEL);\n\n(reagent.ratom.RCursor.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (a,w,opts){\nvar self__ = this;\nvar a__$1 = this;\nreturn reagent.ratom.pr_atom(a__$1,w,opts,\"RCursor\",new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\"val\",\"val\",128701612),a__$1.cljs$core$IDeref$_deref$arity$1(null),new cljs.core.Keyword(null,\"path\",\"path\",-188191168),self__.path], null));\n}));\n\n(reagent.ratom.RCursor.prototype.cljs$core$IHash$_hash$arity$1 = (function (_){\nvar self__ = this;\nvar ___$1 = this;\nreturn cljs.core.hash(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.ratom,self__.path], null));\n}));\n\n(reagent.ratom.RCursor.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (_,other){\nvar self__ = this;\nvar ___$1 = this;\nreturn (((other instanceof reagent.ratom.RCursor)) && (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(self__.path,other.path)) && (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(self__.ratom,other.ratom)));\n}));\n\n(reagent.ratom.RCursor.prototype.cljs$core$IReset$_reset_BANG_$arity$2 = (function (this$,new_value){\nvar self__ = this;\nvar this$__$1 = this;\nvar oldstate = self__.state;\nthis$__$1._set_state(oldstate,new_value);\n\nif((((!((self__.ratom == null))))?(((((self__.ratom.cljs$lang$protocol_mask$partition0$ & (32768))) || ((cljs.core.PROTOCOL_SENTINEL === self__.ratom.cljs$core$IDeref$))))?true:(((!self__.ratom.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IDeref,self__.ratom):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IDeref,self__.ratom))){\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(self__.path,cljs.core.PersistentVector.EMPTY)){\ncljs.core.reset_BANG_(self__.ratom,new_value);\n} else {\ncljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(self__.ratom,cljs.core.assoc_in,self__.path,new_value);\n}\n} else {\n(self__.ratom.cljs$core$IFn$_invoke$arity$2 ? self__.ratom.cljs$core$IFn$_invoke$arity$2(self__.path,new_value) : self__.ratom.call(null,self__.path,new_value));\n}\n\nreturn new_value;\n}));\n\n(reagent.ratom.RCursor.prototype.cljs$core$ISwap$_swap_BANG_$arity$2 = (function (a,f){\nvar self__ = this;\nvar a__$1 = this;\nreturn a__$1.cljs$core$IReset$_reset_BANG_$arity$2(null,(function (){var G__45328 = a__$1._peek();\nreturn (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__45328) : f.call(null,G__45328));\n})());\n}));\n\n(reagent.ratom.RCursor.prototype.cljs$core$ISwap$_swap_BANG_$arity$3 = (function (a,f,x){\nvar self__ = this;\nvar a__$1 = this;\nreturn a__$1.cljs$core$IReset$_reset_BANG_$arity$2(null,(function (){var G__45333 = a__$1._peek();\nvar G__45334 = x;\nreturn (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__45333,G__45334) : f.call(null,G__45333,G__45334));\n})());\n}));\n\n(reagent.ratom.RCursor.prototype.cljs$core$ISwap$_swap_BANG_$arity$4 = (function (a,f,x,y){\nvar self__ = this;\nvar a__$1 = this;\nreturn a__$1.cljs$core$IReset$_reset_BANG_$arity$2(null,(function (){var G__45335 = a__$1._peek();\nvar G__45336 = x;\nvar G__45337 = y;\nreturn (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__45335,G__45336,G__45337) : f.call(null,G__45335,G__45336,G__45337));\n})());\n}));\n\n(reagent.ratom.RCursor.prototype.cljs$core$ISwap$_swap_BANG_$arity$5 = (function (a,f,x,y,more){\nvar self__ = this;\nvar a__$1 = this;\nreturn a__$1.cljs$core$IReset$_reset_BANG_$arity$2(null,cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,a__$1._peek(),x,y,more));\n}));\n\n(reagent.ratom.RCursor.prototype.cljs$core$IWatchable$_notify_watches$arity$3 = (function (this$,old,new$){\nvar self__ = this;\nvar this$__$1 = this;\nreturn reagent.ratom.notify_w(this$__$1,old,new$);\n}));\n\n(reagent.ratom.RCursor.prototype.cljs$core$IWatchable$_add_watch$arity$3 = (function (this$,key,f){\nvar self__ = this;\nvar this$__$1 = this;\nreturn reagent.ratom.add_w(this$__$1,key,f);\n}));\n\n(reagent.ratom.RCursor.prototype.cljs$core$IWatchable$_remove_watch$arity$2 = (function (this$,key){\nvar self__ = this;\nvar this$__$1 = this;\nreturn reagent.ratom.remove_w(this$__$1,key);\n}));\n\n(reagent.ratom.RCursor.prototype.cljs$core$IDeref$_deref$arity$1 = (function (this$){\nvar self__ = this;\nvar this$__$1 = this;\nvar oldstate = self__.state;\nvar newstate = (function (){var temp__5737__auto__ = self__.reaction;\nif((temp__5737__auto__ == null)){\nvar f = (((((!((self__.ratom == null))))?(((((self__.ratom.cljs$lang$protocol_mask$partition0$ & (32768))) || ((cljs.core.PROTOCOL_SENTINEL === self__.ratom.cljs$core$IDeref$))))?true:(((!self__.ratom.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IDeref,self__.ratom):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IDeref,self__.ratom)))?(function (){\nreturn cljs.core.get_in.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(self__.ratom),self__.path);\n}):(function (){\nreturn (self__.ratom.cljs$core$IFn$_invoke$arity$1 ? self__.ratom.cljs$core$IFn$_invoke$arity$1(self__.path) : self__.ratom.call(null,self__.path));\n}));\nreturn reagent.ratom.cached_reaction(f,self__.ratom,self__.path,this$__$1,null);\n} else {\nvar r = temp__5737__auto__;\nreturn cljs.core._deref(r);\n}\n})();\nthis$__$1._set_state(oldstate,newstate);\n\nreturn newstate;\n}));\n\n(reagent.ratom.RCursor.getBasis = (function (){\nreturn new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,\"ratom\",\"ratom\",1514010260,null),new cljs.core.Symbol(null,\"path\",\"path\",1452340359,null),cljs.core.with_meta(new cljs.core.Symbol(null,\"reaction\",\"reaction\",2131401315,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\"mutable\",\"mutable\",875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\"state\",\"state\",-348086572,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\"mutable\",\"mutable\",875778266),true], null)),cljs.core.with_meta(new cljs.core.Symbol(null,\"watches\",\"watches\",1367433992,null),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\"mutable\",\"mutable\",875778266),true], null))], null);\n}));\n\n(reagent.ratom.RCursor.cljs$lang$type = true);\n\n(reagent.ratom.RCursor.cljs$lang$ctorStr = \"reagent.ratom/RCursor\");\n\n(reagent.ratom.RCursor.cljs$lang$ctorPrWriter = (function (this__4369__auto__,writer__4370__auto__,opt__4371__auto__){\nreturn cljs.core._write(writer__4370__auto__,\"reagent.ratom/RCursor\");\n}));\n\n/**\n * Positional factory function for reagent.ratom/RCursor.\n */\nreagent.ratom.__GT_RCursor = (function reagent$ratom$__GT_RCursor(ratom,path,reaction,state,watches){\nreturn (new reagent.ratom.RCursor(ratom,path,reaction,state,watches));\n});\n\nreagent.ratom.cursor = (function reagent$ratom$cursor(src,path){\nif((function (){var or__4126__auto__ = (((!((src == null))))?((((false) || ((cljs.core.PROTOCOL_SENTINEL === src.reagent$ratom$IReactiveAtom$))))?true:(((!src.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(reagent.ratom.IReactiveAtom,src):false)):cljs.core.native_satisfies_QMARK_(reagent.ratom.IReactiveAtom,src));\nif(or__4126__auto__){\nreturn or__4126__auto__;\n} else {\nreturn ((cljs.core.ifn_QMARK_(src)) && ((!(cljs.core.vector_QMARK_(src)))));\n}\n})()){\n} else {\nthrow (new Error([\"Assert failed: \",[\"src must be a reactive atom or a function, not \",cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([src], 0)),\" while attempting to get path: \",cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([path], 0))].join(''),\"\\n\",\"(or (satisfies? IReactiveAtom src) (and (ifn? src) (not (vector? src))))\"].join('')));\n}\n\nreturn reagent.ratom.__GT_RCursor(src,path,null,null,null);\n});\nreagent.ratom.with_let_destroy = (function reagent$ratom$with_let_destroy(v){\nvar temp__5739__auto__ = v.destroy;\nif((temp__5739__auto__ == null)){\nreturn null;\n} else {\nvar f = temp__5739__auto__;\nreturn (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));\n}\n});\nreagent.ratom.with_let_values = (function reagent$ratom$with_let_values(key){\nvar temp__5737__auto__ = reagent.ratom._STAR_ratom_context_STAR_;\nif((temp__5737__auto__ == null)){\nreturn [];\n} else {\nvar c = temp__5737__auto__;\nreturn reagent.ratom.cached_reaction(cljs.core.array,c,key,null,reagent.ratom.with_let_destroy);\n}\n});\n\n/**\n * @interface\n */\nreagent.ratom.IDisposable = function(){};\n\nvar reagent$ratom$IDisposable$dispose_BANG_$dyn_45702 = (function (this$){\nvar x__4428__auto__ = (((this$ == null))?null:this$);\nvar m__4429__auto__ = (reagent.ratom.dispose_BANG_[goog.typeOf(x__4428__auto__)]);\nif((!((m__4429__auto__ == null)))){\nreturn (m__4429__auto__.cljs$core$IFn$_invoke$arity$1 ? m__4429__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__4429__auto__.call(null,this$));\n} else {\nvar m__4426__auto__ = (reagent.ratom.dispose_BANG_[\"_\"]);\nif((!((m__4426__auto__ == null)))){\nreturn (m__4426__auto__.cljs$core$IFn$_invoke$arity$1 ? m__4426__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__4426__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\"IDisposable.dispose!\",this$);\n}\n}\n});\nreagent.ratom.dispose_BANG_ = (function reagent$ratom$dispose_BANG_(this$){\nif((((!((this$ == null)))) && ((!((this$.reagent$ratom$IDisposable$dispose_BANG_$arity$1 == null)))))){\nreturn this$.reagent$ratom$IDisposable$dispose_BANG_$arity$1(this$);\n} else {\nreturn reagent$ratom$IDisposable$dispose_BANG_$dyn_45702(this$);\n}\n});\n\nvar reagent$ratom$IDisposable$add_on_dispose_BANG_$dyn_45706 = (function (this$,f){\nvar x__4428__auto__ = (((this$ == null))?null:this$);\nvar m__4429__auto__ = (reagent.ratom.add_on_dispose_BANG_[goog.typeOf(x__4428__auto__)]);\nif((!((m__4429__auto__ == null)))){\nreturn (m__4429__auto__.cljs$core$IFn$_invoke$arity$2 ? m__4429__auto__.cljs$core$IFn$_invoke$arity$2(this$,f) : m__4429__auto__.call(null,this$,f));\n} else {\nvar m__4426__auto__ = (reagent.ratom.add_on_dispose_BANG_[\"_\"]);\nif((!((m__4426__auto__ == null)))){\nreturn (m__4426__auto__.cljs$core$IFn$_invoke$arity$2 ? m__4426__auto__.cljs$core$IFn$_invoke$arity$2(this$,f) : m__4426__auto__.call(null,this$,f));\n} else {\nthrow cljs.core.missing_protocol(\"IDisposable.add-on-dispose!\",this$);\n}\n}\n});\nreagent.ratom.add_on_dispose_BANG_ = (function reagent$ratom$add_on_dispose_BANG_(this$,f){\nif((((!((this$ == null)))) && ((!((this$.reagent$ratom$IDisposable$add_on_dispose_BANG_$arity$2 == null)))))){\nreturn this$.reagent$ratom$IDisposable$add_on_dispose_BANG_$arity$2(this$,f);\n} else {\nreturn reagent$ratom$IDisposable$add_on_dispose_BANG_$dyn_45706(this$,f);\n}\n});\n\n\n/**\n * @interface\n */\nreagent.ratom.IRunnable = function(){};\n\nvar reagent$ratom$IRunnable$run$dyn_45710 = (function (this$){\nvar x__4428__auto__ = (((this$ == null))?null:this$);\nvar m__4429__auto__ = (reagent.ratom.run[goog.typeOf(x__4428__auto__)]);\nif((!((m__4429__auto__ == null)))){\nreturn (m__4429__auto__.cljs$core$IFn$_invoke$arity$1 ? m__4429__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__4429__auto__.call(null,this$));\n} else {\nvar m__4426__auto__ = (reagent.ratom.run[\"_\"]);\nif((!((m__4426__auto__ == null)))){\nreturn (m__4426__auto__.cljs$core$IFn$_invoke$arity$1 ? m__4426__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__4426__auto__.call(null,this$));\n} else {\nthrow cljs.core.missing_protocol(\"IRunnable.run\",this$);\n}\n}\n});\nreagent.ratom.run = (function reagent$ratom$run(this$){\nif((((!((this$ == null)))) && ((!((this$.reagent$ratom$IRunnable$run$arity$1 == null)))))){\nreturn this$.reagent$ratom$IRunnable$run$arity$1(this$);\n} else {\nreturn reagent$ratom$IRunnable$run$dyn_45710(this$);\n}\n});\n\nreagent.ratom.handle_reaction_change = (function reagent$ratom$handle_reaction_change(this$,sender,old,new$){\nreturn this$._handle_change(sender,old,new$);\n});\n\n/**\n* @constructor\n * @implements {cljs.core.IWatchable}\n * @implements {cljs.core.IAtom}\n * @implements {cljs.core.IEquiv}\n * @implements {cljs.core.IHash}\n * @implements {cljs.core.IReset}\n * @implements {cljs.core.ISwap}\n * @implements {reagent.ratom.IReactiveAtom}\n * @implements {reagent.ratom.IRunnable}\n * @implements {reagent.ratom.IDisposable}\n * @implements {cljs.core.IDeref}\n * @implements {cljs.core.IPrintWithWriter}\n*/\nreagent.ratom.Reaction = (function (f,state,dirty_QMARK_,nocache_QMARK_,watching,watches,auto_run,caught){\nthis.f = f;\nthis.state = state;\nthis.dirty_QMARK_ = dirty_QMARK_;\nthis.nocache_QMARK_ = nocache_QMARK_;\nthis.watching = watching;\nthis.watches = watches;\nthis.auto_run = auto_run;\nthis.caught = caught;\nthis.cljs$lang$protocol_mask$partition0$ = 2153807872;\nthis.cljs$lang$protocol_mask$partition1$ = 114690;\n});\n(reagent.ratom.Reaction.prototype._peek_at = (function (){\nvar self__ = this;\nvar this$ = this;\nvar _STAR_ratom_context_STAR__orig_val__45392 = reagent.ratom._STAR_ratom_context_STAR_;\nvar _STAR_ratom_context_STAR__temp_val__45393 = null;\n(reagent.ratom._STAR_ratom_context_STAR_ = _STAR_ratom_context_STAR__temp_val__45393);\n\ntry{return this$.cljs$core$IDeref$_deref$arity$1(null);\n}finally {(reagent.ratom._STAR_ratom_context_STAR_ = _STAR_ratom_context_STAR__orig_val__45392);\n}}));\n\n(reagent.ratom.Reaction.prototype._handle_change = (function (sender,oldval,newval){\nvar self__ = this;\nvar this$ = this;\nif((((oldval === newval)) || (self__.dirty_QMARK_))){\nreturn null;\n} else {\nif((self__.auto_run == null)){\n(self__.dirty_QMARK_ = true);\n\nreturn reagent.ratom.rea_enqueue(this$);\n} else {\nif(self__.auto_run === true){\nreturn this$._run(false);\n} else {\nreturn (self__.auto_run.cljs$core$IFn$_invoke$arity$1 ? self__.auto_run.cljs$core$IFn$_invoke$arity$1(this$) : self__.auto_run.call(null,this$));\n}\n}\n}\n}));\n\n(reagent.ratom.Reaction.prototype._update_watching = (function (derefed){\nvar self__ = this;\nvar this$ = this;\nvar new$ = cljs.core.set(derefed);\nvar old = cljs.core.set(self__.watching);\n(self__.watching = derefed);\n\nvar seq__45398_45716 = cljs.core.seq(clojure.set.difference.cljs$core$IFn$_invoke$arity$2(new$,old));\nvar chunk__45399_45717 = null;\nvar count__45400_45718 = (0);\nvar i__45401_45719 = (0);\nwhile(true){\nif((i__45401_45719 < count__45400_45718)){\nvar w_45720 = chunk__45399_45717.cljs$core$IIndexed$_nth$arity$2(null,i__45401_45719);\ncljs.core._add_watch(w_45720,this$,reagent.ratom.handle_reaction_change);\n\n\nvar G__45721 = seq__45398_45716;\nvar G__45722 = chunk__45399_45717;\nvar G__45723 = count__45400_45718;\nvar G__45724 = (i__45401_45719 + (1));\nseq__45398_45716 = G__45721;\nchunk__45399_45717 = G__45722;\ncount__45400_45718 = G__45723;\ni__45401_45719 = G__45724;\ncontinue;\n} else {\nvar temp__5735__auto___45725 = cljs.core.seq(seq__45398_45716);\nif(temp__5735__auto___45725){\nvar seq__45398_45727__$1 = temp__5735__auto___45725;\nif(cljs.core.chunked_seq_QMARK_(seq__45398_45727__$1)){\nvar c__4556__auto___45728 = cljs.core.chunk_first(seq__45398_45727__$1);\nvar G__45729 = cljs.core.chunk_rest(seq__45398_45727__$1);\nvar G__45730 = c__4556__auto___45728;\nvar G__45731 = cljs.core.count(c__4556__auto___45728);\nvar G__45732 = (0);\nseq__45398_45716 = G__45729;\nchunk__45399_45717 = G__45730;\ncount__45400_45718 = G__45731;\ni__45401_45719 = G__45732;\ncontinue;\n} else {\nvar w_45733 = cljs.core.first(seq__45398_45727__$1);\ncljs.core._add_watch(w_45733,this$,reagent.ratom.handle_reaction_change);\n\n\nvar G__45735 = cljs.core.next(seq__45398_45727__$1);\nvar G__45736 = null;\nvar G__45737 = (0);\nvar G__45738 = (0);\nseq__45398_45716 = G__45735;\nchunk__45399_45717 = G__45736;\ncount__45400_45718 = G__45737;\ni__45401_45719 = G__45738;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nvar seq__45420 = cljs.core.seq(clojure.set.difference.cljs$core$IFn$_invoke$arity$2(old,new$));\nvar chunk__45421 = null;\nvar count__45422 = (0);\nvar i__45423 = (0);\nwhile(true){\nif((i__45423 < count__45422)){\nvar w = chunk__45421.cljs$core$IIndexed$_nth$arity$2(null,i__45423);\ncljs.core._remove_watch(w,this$);\n\n\nvar G__45740 = seq__45420;\nvar G__45741 = chunk__45421;\nvar G__45742 = count__45422;\nvar G__45743 = (i__45423 + (1));\nseq__45420 = G__45740;\nchunk__45421 = G__45741;\ncount__45422 = G__45742;\ni__45423 = G__45743;\ncontinue;\n} else {\nvar temp__5735__auto__ = cljs.core.seq(seq__45420);\nif(temp__5735__auto__){\nvar seq__45420__$1 = temp__5735__auto__;\nif(cljs.core.chunked_seq_QMARK_(seq__45420__$1)){\nvar c__4556__auto__ = cljs.core.chunk_first(seq__45420__$1);\nvar G__45744 = cljs.core.chunk_rest(seq__45420__$1);\nvar G__45745 = c__4556__auto__;\nvar G__45746 = cljs.core.count(c__4556__auto__);\nvar G__45747 = (0);\nseq__45420 = G__45744;\nchunk__45421 = G__45745;\ncount__45422 = G__45746;\ni__45423 = G__45747;\ncontinue;\n} else {\nvar w = cljs.core.first(seq__45420__$1);\ncljs.core._remove_watch(w,this$);\n\n\nvar G__45748 = cljs.core.next(seq__45420__$1);\nvar G__45749 = null;\nvar G__45750 = (0);\nvar G__45751 = (0);\nseq__45420 = G__45748;\nchunk__45421 = G__45749;\ncount__45422 = G__45750;\ni__45423 = G__45751;\ncontinue;\n}\n} else {\nreturn null;\n}\n}\nbreak;\n}\n}));\n\n(reagent.ratom.Reaction.prototype._queued_run = (function (){\nvar self__ = this;\nvar this$ = this;\nif(((self__.dirty_QMARK_) && ((!((self__.watching == null)))))){\nreturn this$._run(true);\n} else {\nreturn null;\n}\n}));\n\n(reagent.ratom.Reaction.prototype._try_capture = (function (f__$1){\nvar self__ = this;\nvar this$ = this;\ntry{(self__.caught = null);\n\nreturn reagent.ratom.deref_capture(f__$1,this$);\n}catch (e45437){var e = e45437;\n(self__.state = e);\n\n(self__.caught = e);\n\nreturn (self__.dirty_QMARK_ = false);\n}}));\n\n(reagent.ratom.Reaction.prototype._run = (function (check){\nvar self__ = this;\nvar this$ = this;\nvar oldstate = self__.state;\nvar res = (cljs.core.truth_(check)?this$._try_capture(self__.f):reagent.ratom.deref_capture(self__.f,this$));\nif(self__.nocache_QMARK_){\n} else {\n(self__.state = res);\n\nif((((self__.watches == null)) || (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(oldstate,res)))){\n} else {\nreagent.ratom.notify_w(this$,oldstate,res);\n}\n}\n\nreturn res;\n}));\n\n(reagent.ratom.Reaction.prototype._set_opts = (function (p__45439){\nvar self__ = this;\nvar map__45440 = p__45439;\nvar map__45440__$1 = (((((!((map__45440 == null))))?(((((map__45440.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__45440.cljs$core$ISeq$))))?true:false):false))?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,map__45440):map__45440);\nvar auto_run__$1 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__45440__$1,new cljs.core.Keyword(null,\"auto-run\",\"auto-run\",1958400437));\nvar on_set = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__45440__$1,new cljs.core.Keyword(null,\"on-set\",\"on-set\",-140953470));\nvar on_dispose = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__45440__$1,new cljs.core.Keyword(null,\"on-dispose\",\"on-dispose\",2105306360));\nvar no_cache = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__45440__$1,new cljs.core.Keyword(null,\"no-cache\",\"no-cache\",1588056370));\nvar this$ = this;\nif((!((auto_run__$1 == null)))){\n(this$.auto_run = auto_run__$1);\n} else {\n}\n\nif((!((on_set == null)))){\n(this$.on_set = on_set);\n} else {\n}\n\nif((!((on_dispose == null)))){\n(this$.on_dispose = on_dispose);\n} else {\n}\n\nif((!((no_cache == null)))){\nreturn (this$.nocache_QMARK_ = no_cache);\n} else {\nreturn null;\n}\n}));\n\n(reagent.ratom.Reaction.prototype.reagent$ratom$IReactiveAtom$ = cljs.core.PROTOCOL_SENTINEL);\n\n(reagent.ratom.Reaction.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (a,w,opts){\nvar self__ = this;\nvar a__$1 = this;\nreturn reagent.ratom.pr_atom(a__$1,w,opts,\"Reaction\",new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\"val\",\"val\",128701612),a__$1.cljs$core$IDeref$_deref$arity$1(null)], null));\n}));\n\n(reagent.ratom.Reaction.prototype.cljs$core$IHash$_hash$arity$1 = (function (this$){\nvar self__ = this;\nvar this$__$1 = this;\nreturn goog.getUid(this$__$1);\n}));\n\n(reagent.ratom.Reaction.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (o,other){\nvar self__ = this;\nvar o__$1 = this;\nreturn (o__$1 === other);\n}));\n\n(reagent.ratom.Reaction.prototype.reagent$ratom$IDisposable$ = cljs.core.PROTOCOL_SENTINEL);\n\n(reagent.ratom.Reaction.prototype.reagent$ratom$IDisposable$dispose_BANG_$arity$1 = (function (this$){\nvar self__ = this;\nvar this$__$1 = this;\nvar s = self__.state;\nvar wg = self__.watching;\n(self__.watching = null);\n\n(self__.state = null);\n\n(self__.auto_run = null);\n\n(self__.dirty_QMARK_ = true);\n\nvar seq__45448_45756 = cljs.core.seq(cljs.core.set(wg));\nvar chunk__45449_45757 = null;\nvar count__45450_45758 = (0);\nvar i__45451_45759 = (0);\nwhile(true){\nif((i__45451_45759 < count__45450_45758)){\nvar w_45760 = chunk__45449_45757.cljs$core$IIndexed$_nth$arity$2(null,i__45451_45759);\ncljs.core._remove_watch(w_45760,this$__$1);\n\n\nvar G__45761 = seq__45448_45756;\nvar G__45762 = chunk__45449_45757;\nvar G__45763 = count__45450_45758;\nvar G__45764 = (i__45451_45759 + (1));\nseq__45448_45756 = G__45761;\nchunk__45449_45757 = G__45762;\ncount__45450_45758 = G__45763;\ni__45451_45759 = G__45764;\ncontinue;\n} else {\nvar temp__5735__auto___45765 = cljs.core.seq(seq__45448_45756);\nif(temp__5735__auto___45765){\nvar seq__45448_45766__$1 = temp__5735__auto___45765;\nif(cljs.core.chunked_seq_QMARK_(seq__45448_45766__$1)){\nvar c__4556__auto___45767 = cljs.core.chunk_first(seq__45448_45766__$1);\nvar G__45768 = cljs.core.chunk_rest(seq__45448_45766__$1);\nvar G__45769 = c__4556__auto___45767;\nvar G__45770 = cljs.core.count(c__4556__auto___45767);\nvar G__45771 = (0);\nseq__45448_45756 = G__45768;\nchunk__45449_45757 = G__45769;\ncount__45450_45758 = G__45770;\ni__45451_45759 = G__45771;\ncontinue;\n} else {\nvar w_45772 = cljs.core.first(seq__45448_45766__$1);\ncljs.core._remove_watch(w_45772,this$__$1);\n\n\nvar G__45774 = cljs.core.next(seq__45448_45766__$1);\nvar G__45775 = null;\nvar G__45776 = (0);\nvar G__45777 = (0);\nseq__45448_45756 = G__45774;\nchunk__45449_45757 = G__45775;\ncount__45450_45758 = G__45776;\ni__45451_45759 = G__45777;\ncontinue;\n}\n} else {\n}\n}\nbreak;\n}\n\nif((!((this$__$1.on_dispose == null)))){\nthis$__$1.on_dispose(s);\n} else {\n}\n\nvar temp__5739__auto__ = this$__$1.on_dispose_arr;\nif((temp__5739__auto__ == null)){\nreturn null;\n} else {\nvar a = temp__5739__auto__;\nvar n__4613__auto__ = a.length;\nvar i = (0);\nwhile(true){\nif((i < n__4613__auto__)){\nvar fexpr__45464_45778 = (a[i]);\n(fexpr__45464_45778.cljs$core$IFn$_invoke$arity$1 ? fexpr__45464_45778.cljs$core$IFn$_invoke$arity$1(this$__$1) : fexpr__45464_45778.call(null,this$__$1));\n\nvar G__45779 = (i + (1));\ni = G__45779;\ncontinue;\n} else {\nreturn null;\n}\nbreak;\n}\n}\n}));\n\n(reagent.ratom.Reaction.prototype.reagent$ratom$IDisposable$add_on_dispose_BANG_$arity$2 = (function (this$,f__$1){\nvar self__ = this;\nvar this$__$1 = this;\nvar temp__5737__auto__ = this$__$1.on_dispose_arr;\nif((temp__5737__auto__ == null)){\nreturn (this$__$1.on_dispose_arr = [f__$1]);\n} else {\nvar a = temp__5737__auto__;\nreturn a.push(f__$1);\n}\n}));\n\n(reagent.ratom.Reaction.prototype.cljs$core$IReset$_reset_BANG_$arity$2 = (function (a,newval){\nvar self__ = this;\nvar a__$1 = this;\nif(cljs.core.fn_QMARK_(a__$1.on_set)){\n} else {\nthrow (new Error([\"Assert failed: \",\"Reaction is read only; on-set is not allowed\",\"\\n\",\"(fn? (.-on-set a))\"].join('')));\n}\n\nvar oldval = self__.state;\n(self__.state = newval);\n\na__$1.on_set(oldval,newval);\n\nreagent.ratom.notify_w(a__$1,oldval,newval);\n\nreturn newval;\n}));\n\n(reagent.ratom.Reaction.prototype.cljs$core$ISwap$_swap_BANG_$arity$2 = (function (a,f__$1){\nvar self__ = this;\nvar a__$1 = this;\nreturn a__$1.cljs$core$IReset$_reset_BANG_$arity$2(null,(function (){var G__45472 = a__$1._peek_at();\nreturn (f__$1.cljs$core$IFn$_invoke$arity$1 ? f__$1.cljs$core$IFn$_invoke$arity$1(G__45472) : f__$1.call(null,G__45472));\n})());\n}));\n\n(reagent.ratom.Reaction.prototype.cljs$core$ISwap$_swap_BANG_$arity$3 = (function (a,f__$1,x){\nvar self__ = this;\nvar a__$1 = this;\nreturn a__$1.cljs$core$IReset$_reset_BANG_$arity$2(null,(function (){var G__45473 = a__$1._peek_at();\nvar G__45474 = x;\nreturn (f__$1.cljs$core$IFn$_invoke$arity$2 ? f__$1.cljs$core$IFn$_invoke$arity$2(G__45473,G__45474) : f__$1.call(null,G__45473,G__45474));\n})());\n}));\n\n(reagent.ratom.Reaction.prototype.cljs$core$ISwap$_swap_BANG_$arity$4 = (function (a,f__$1,x,y){\nvar self__ = this;\nvar a__$1 = this;\nreturn a__$1.cljs$core$IReset$_reset_BANG_$arity$2(null,(function (){var G__45476 = a__$1._peek_at();\nvar G__45477 = x;\nvar G__45478 = y;\nreturn (f__$1.cljs$core$IFn$_invoke$arity$3 ? f__$1.cljs$core$IFn$_invoke$arity$3(G__45476,G__45477,G__45478) : f__$1.call(null,G__45476,G__45477,G__45478));\n})());\n}));\n\n(reagent.ratom.Reaction.prototype.cljs$core$ISwap$_swap_BANG_$arity$5 = (function (a,f__$1,x,y,more){\nvar self__ = this;\nvar a__$1 = this;\nreturn a__$1.cljs$core$IReset$_reset_BANG_$arity$2(null,cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f__$1,a__$1._peek_at(),x,y,more));\n}));\n\n(reagent.ratom.Reaction.prototype.reagent$ratom$IRunnable$ = cljs.core.PROTOCOL_SENTINEL);\n\n(reagent.ratom.Reaction.prototype.reagent$ratom$IRunnable$run$arity$1 = (function (this$){\nvar self__ = this;\nvar this$__$1 = this;\n