thisdotrob-calvin-cljs
Version:
a minimalistic build tool for clojurescript in clojurescript
1,485 lines (1,270 loc) • 296 kB
JavaScript
// Compiled by ClojureScript 1.9.293 {:target :nodejs}
goog.provide('cljs.core.async');
goog.require('cljs.core');
goog.require('cljs.core.async.impl.channels');
goog.require('cljs.core.async.impl.dispatch');
goog.require('cljs.core.async.impl.ioc_helpers');
goog.require('cljs.core.async.impl.protocols');
goog.require('cljs.core.async.impl.buffers');
goog.require('cljs.core.async.impl.timers');
cljs.core.async.fn_handler = (function cljs$core$async$fn_handler(var_args){
var args21037 = [];
var len__7651__auto___21069 = arguments.length;
var i__7652__auto___21070 = (0);
while(true){
if((i__7652__auto___21070 < len__7651__auto___21069)){
args21037.push((arguments[i__7652__auto___21070]));
var G__21071 = (i__7652__auto___21070 + (1));
i__7652__auto___21070 = G__21071;
continue;
} else {
}
break;
}
var G__21060 = args21037.length;
switch (G__21060) {
case 1:
return cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error([cljs.core.str("Invalid arity: "),cljs.core.str(args21037.length)].join('')));
}
});
cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$1 = (function (f){
return cljs.core.async.fn_handler.call(null,f,true);
});
cljs.core.async.fn_handler.cljs$core$IFn$_invoke$arity$2 = (function (f,blockable){
if(typeof cljs.core.async.t_cljs$core$async21062 !== 'undefined'){
} else {
/**
* @constructor
* @implements {cljs.core.async.impl.protocols.Handler}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.IWithMeta}
*/
cljs.core.async.t_cljs$core$async21062 = (function (f,blockable,meta21063){
this.f = f;
this.blockable = blockable;
this.meta21063 = meta21063;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
})
cljs.core.async.t_cljs$core$async21062.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_21064,meta21063__$1){
var self__ = this;
var _21064__$1 = this;
return (new cljs.core.async.t_cljs$core$async21062(self__.f,self__.blockable,meta21063__$1));
});
cljs.core.async.t_cljs$core$async21062.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_21064){
var self__ = this;
var _21064__$1 = this;
return self__.meta21063;
});
cljs.core.async.t_cljs$core$async21062.prototype.cljs$core$async$impl$protocols$Handler$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.async.t_cljs$core$async21062.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return true;
});
cljs.core.async.t_cljs$core$async21062.prototype.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return self__.blockable;
});
cljs.core.async.t_cljs$core$async21062.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return self__.f;
});
cljs.core.async.t_cljs$core$async21062.getBasis = (function (){
return 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,"blockable","blockable",-28395259,null),new cljs.core.Symbol(null,"meta21063","meta21063",1407191240,null)], null);
});
cljs.core.async.t_cljs$core$async21062.cljs$lang$type = true;
cljs.core.async.t_cljs$core$async21062.cljs$lang$ctorStr = "cljs.core.async/t_cljs$core$async21062";
cljs.core.async.t_cljs$core$async21062.cljs$lang$ctorPrWriter = (function (this__7149__auto__,writer__7150__auto__,opt__7151__auto__){
return cljs.core._write.call(null,writer__7150__auto__,"cljs.core.async/t_cljs$core$async21062");
});
cljs.core.async.__GT_t_cljs$core$async21062 = (function cljs$core$async$__GT_t_cljs$core$async21062(f__$1,blockable__$1,meta21063){
return (new cljs.core.async.t_cljs$core$async21062(f__$1,blockable__$1,meta21063));
});
}
return (new cljs.core.async.t_cljs$core$async21062(f,blockable,cljs.core.PersistentArrayMap.EMPTY));
});
cljs.core.async.fn_handler.cljs$lang$maxFixedArity = 2;
/**
* Returns a fixed buffer of size n. When full, puts will block/park.
*/
cljs.core.async.buffer = (function cljs$core$async$buffer(n){
return cljs.core.async.impl.buffers.fixed_buffer.call(null,n);
});
/**
* Returns a buffer of size n. When full, puts will complete but
* val will be dropped (no transfer).
*/
cljs.core.async.dropping_buffer = (function cljs$core$async$dropping_buffer(n){
return cljs.core.async.impl.buffers.dropping_buffer.call(null,n);
});
/**
* Returns a buffer of size n. When full, puts will complete, and be
* buffered, but oldest elements in buffer will be dropped (not
* transferred).
*/
cljs.core.async.sliding_buffer = (function cljs$core$async$sliding_buffer(n){
return cljs.core.async.impl.buffers.sliding_buffer.call(null,n);
});
/**
* Returns true if a channel created with buff will never block. That is to say,
* puts into this buffer will never cause the buffer to be full.
*/
cljs.core.async.unblocking_buffer_QMARK_ = (function cljs$core$async$unblocking_buffer_QMARK_(buff){
if(!((buff == null))){
if((false) || ((cljs.core.PROTOCOL_SENTINEL === buff.cljs$core$async$impl$protocols$UnblockingBuffer$))){
return true;
} else {
if((!buff.cljs$lang$protocol_mask$partition$)){
return cljs.core.native_satisfies_QMARK_.call(null,cljs.core.async.impl.protocols.UnblockingBuffer,buff);
} else {
return false;
}
}
} else {
return cljs.core.native_satisfies_QMARK_.call(null,cljs.core.async.impl.protocols.UnblockingBuffer,buff);
}
});
/**
* Creates a channel with an optional buffer, an optional transducer (like (map f),
* (filter p) etc or a composition thereof), and an optional exception handler.
* If buf-or-n is a number, will create and use a fixed buffer of that size. If a
* transducer is supplied a buffer must be specified. ex-handler must be a
* fn of one argument - if an exception occurs during transformation it will be called
* with the thrown value as an argument, and any non-nil return value will be placed
* in the channel.
*/
cljs.core.async.chan = (function cljs$core$async$chan(var_args){
var args21103 = [];
var len__7651__auto___21118 = arguments.length;
var i__7652__auto___21119 = (0);
while(true){
if((i__7652__auto___21119 < len__7651__auto___21118)){
args21103.push((arguments[i__7652__auto___21119]));
var G__21123 = (i__7652__auto___21119 + (1));
i__7652__auto___21119 = G__21123;
continue;
} else {
}
break;
}
var G__21108 = args21103.length;
switch (G__21108) {
case 0:
return cljs.core.async.chan.cljs$core$IFn$_invoke$arity$0();
break;
case 1:
return cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.async.chan.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.async.chan.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error([cljs.core.str("Invalid arity: "),cljs.core.str(args21103.length)].join('')));
}
});
cljs.core.async.chan.cljs$core$IFn$_invoke$arity$0 = (function (){
return cljs.core.async.chan.call(null,null);
});
cljs.core.async.chan.cljs$core$IFn$_invoke$arity$1 = (function (buf_or_n){
return cljs.core.async.chan.call(null,buf_or_n,null,null);
});
cljs.core.async.chan.cljs$core$IFn$_invoke$arity$2 = (function (buf_or_n,xform){
return cljs.core.async.chan.call(null,buf_or_n,xform,null);
});
cljs.core.async.chan.cljs$core$IFn$_invoke$arity$3 = (function (buf_or_n,xform,ex_handler){
var buf_or_n__$1 = ((cljs.core._EQ_.call(null,buf_or_n,(0)))?null:buf_or_n);
if(cljs.core.truth_(xform)){
if(cljs.core.truth_(buf_or_n__$1)){
} else {
throw (new Error([cljs.core.str("Assert failed: "),cljs.core.str("buffer must be supplied when transducer is"),cljs.core.str("\n"),cljs.core.str("buf-or-n")].join('')));
}
} else {
}
return cljs.core.async.impl.channels.chan.call(null,((typeof buf_or_n__$1 === 'number')?cljs.core.async.buffer.call(null,buf_or_n__$1):buf_or_n__$1),xform,ex_handler);
});
cljs.core.async.chan.cljs$lang$maxFixedArity = 3;
/**
* Creates a promise channel with an optional transducer, and an optional
* exception-handler. A promise channel can take exactly one value that consumers
* will receive. Once full, puts complete but val is dropped (no transfer).
* Consumers will block until either a value is placed in the channel or the
* channel is closed. See chan for the semantics of xform and ex-handler.
*/
cljs.core.async.promise_chan = (function cljs$core$async$promise_chan(var_args){
var args21127 = [];
var len__7651__auto___21150 = arguments.length;
var i__7652__auto___21151 = (0);
while(true){
if((i__7652__auto___21151 < len__7651__auto___21150)){
args21127.push((arguments[i__7652__auto___21151]));
var G__21152 = (i__7652__auto___21151 + (1));
i__7652__auto___21151 = G__21152;
continue;
} else {
}
break;
}
var G__21140 = args21127.length;
switch (G__21140) {
case 0:
return cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0();
break;
case 1:
return cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error([cljs.core.str("Invalid arity: "),cljs.core.str(args21127.length)].join('')));
}
});
cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$0 = (function (){
return cljs.core.async.promise_chan.call(null,null);
});
cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$1 = (function (xform){
return cljs.core.async.promise_chan.call(null,xform,null);
});
cljs.core.async.promise_chan.cljs$core$IFn$_invoke$arity$2 = (function (xform,ex_handler){
return cljs.core.async.chan.call(null,cljs.core.async.impl.buffers.promise_buffer.call(null),xform,ex_handler);
});
cljs.core.async.promise_chan.cljs$lang$maxFixedArity = 2;
/**
* Returns a channel that will close after msecs
*/
cljs.core.async.timeout = (function cljs$core$async$timeout(msecs){
return cljs.core.async.impl.timers.timeout.call(null,msecs);
});
/**
* takes a val from port. Must be called inside a (go ...) block. Will
* return nil if closed. Will park if nothing is available.
* Returns true unless port is already closed
*/
cljs.core.async._LT__BANG_ = (function cljs$core$async$_LT__BANG_(port){
throw (new Error("<! used not in (go ...) block"));
});
/**
* Asynchronously takes a val from port, passing to fn1. Will pass nil
* if closed. If on-caller? (default true) is true, and value is
* immediately available, will call fn1 on calling thread.
* Returns nil.
*/
cljs.core.async.take_BANG_ = (function cljs$core$async$take_BANG_(var_args){
var args21177 = [];
var len__7651__auto___21251 = arguments.length;
var i__7652__auto___21258 = (0);
while(true){
if((i__7652__auto___21258 < len__7651__auto___21251)){
args21177.push((arguments[i__7652__auto___21258]));
var G__21259 = (i__7652__auto___21258 + (1));
i__7652__auto___21258 = G__21259;
continue;
} else {
}
break;
}
var G__21236 = args21177.length;
switch (G__21236) {
case 2:
return cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error([cljs.core.str("Invalid arity: "),cljs.core.str(args21177.length)].join('')));
}
});
cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$2 = (function (port,fn1){
return cljs.core.async.take_BANG_.call(null,port,fn1,true);
});
cljs.core.async.take_BANG_.cljs$core$IFn$_invoke$arity$3 = (function (port,fn1,on_caller_QMARK_){
var ret = cljs.core.async.impl.protocols.take_BANG_.call(null,port,cljs.core.async.fn_handler.call(null,fn1));
if(cljs.core.truth_(ret)){
var val_21315 = cljs.core.deref.call(null,ret);
if(cljs.core.truth_(on_caller_QMARK_)){
fn1.call(null,val_21315);
} else {
cljs.core.async.impl.dispatch.run.call(null,((function (val_21315,ret){
return (function (){
return fn1.call(null,val_21315);
});})(val_21315,ret))
);
}
} else {
}
return null;
});
cljs.core.async.take_BANG_.cljs$lang$maxFixedArity = 3;
cljs.core.async.nop = (function cljs$core$async$nop(_){
return null;
});
cljs.core.async.fhnop = cljs.core.async.fn_handler.call(null,cljs.core.async.nop);
/**
* puts a val into port. nil values are not allowed. Must be called
* inside a (go ...) block. Will park if no buffer space is available.
* Returns true unless port is already closed.
*/
cljs.core.async._GT__BANG_ = (function cljs$core$async$_GT__BANG_(port,val){
throw (new Error(">! used not in (go ...) block"));
});
/**
* Asynchronously puts a val into port, calling fn0 (if supplied) when
* complete. nil values are not allowed. Will throw if closed. If
* on-caller? (default true) is true, and the put is immediately
* accepted, will call fn0 on calling thread. Returns nil.
*/
cljs.core.async.put_BANG_ = (function cljs$core$async$put_BANG_(var_args){
var args21333 = [];
var len__7651__auto___21378 = arguments.length;
var i__7652__auto___21379 = (0);
while(true){
if((i__7652__auto___21379 < len__7651__auto___21378)){
args21333.push((arguments[i__7652__auto___21379]));
var G__21389 = (i__7652__auto___21379 + (1));
i__7652__auto___21379 = G__21389;
continue;
} else {
}
break;
}
var G__21335 = args21333.length;
switch (G__21335) {
case 2:
return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
case 4:
return cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));
break;
default:
throw (new Error([cljs.core.str("Invalid arity: "),cljs.core.str(args21333.length)].join('')));
}
});
cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$2 = (function (port,val){
var temp__4655__auto__ = cljs.core.async.impl.protocols.put_BANG_.call(null,port,val,cljs.core.async.fhnop);
if(cljs.core.truth_(temp__4655__auto__)){
var ret = temp__4655__auto__;
return cljs.core.deref.call(null,ret);
} else {
return true;
}
});
cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$3 = (function (port,val,fn1){
return cljs.core.async.put_BANG_.call(null,port,val,fn1,true);
});
cljs.core.async.put_BANG_.cljs$core$IFn$_invoke$arity$4 = (function (port,val,fn1,on_caller_QMARK_){
var temp__4655__auto__ = cljs.core.async.impl.protocols.put_BANG_.call(null,port,val,cljs.core.async.fn_handler.call(null,fn1));
if(cljs.core.truth_(temp__4655__auto__)){
var retb = temp__4655__auto__;
var ret = cljs.core.deref.call(null,retb);
if(cljs.core.truth_(on_caller_QMARK_)){
fn1.call(null,ret);
} else {
cljs.core.async.impl.dispatch.run.call(null,((function (ret,retb,temp__4655__auto__){
return (function (){
return fn1.call(null,ret);
});})(ret,retb,temp__4655__auto__))
);
}
return ret;
} else {
return true;
}
});
cljs.core.async.put_BANG_.cljs$lang$maxFixedArity = 4;
cljs.core.async.close_BANG_ = (function cljs$core$async$close_BANG_(port){
return cljs.core.async.impl.protocols.close_BANG_.call(null,port);
});
cljs.core.async.random_array = (function cljs$core$async$random_array(n){
var a = (new Array(n));
var n__7461__auto___21477 = n;
var x_21478 = (0);
while(true){
if((x_21478 < n__7461__auto___21477)){
(a[x_21478] = (0));
var G__21484 = (x_21478 + (1));
x_21478 = G__21484;
continue;
} else {
}
break;
}
var i = (1);
while(true){
if(cljs.core._EQ_.call(null,i,n)){
return a;
} else {
var j = cljs.core.rand_int.call(null,i);
(a[i] = (a[j]));
(a[j] = i);
var G__21487 = (i + (1));
i = G__21487;
continue;
}
break;
}
});
cljs.core.async.alt_flag = (function cljs$core$async$alt_flag(){
var flag = cljs.core.atom.call(null,true);
if(typeof cljs.core.async.t_cljs$core$async21508 !== 'undefined'){
} else {
/**
* @constructor
* @implements {cljs.core.async.impl.protocols.Handler}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.IWithMeta}
*/
cljs.core.async.t_cljs$core$async21508 = (function (flag,meta21509){
this.flag = flag;
this.meta21509 = meta21509;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
})
cljs.core.async.t_cljs$core$async21508.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = ((function (flag){
return (function (_21510,meta21509__$1){
var self__ = this;
var _21510__$1 = this;
return (new cljs.core.async.t_cljs$core$async21508(self__.flag,meta21509__$1));
});})(flag))
;
cljs.core.async.t_cljs$core$async21508.prototype.cljs$core$IMeta$_meta$arity$1 = ((function (flag){
return (function (_21510){
var self__ = this;
var _21510__$1 = this;
return self__.meta21509;
});})(flag))
;
cljs.core.async.t_cljs$core$async21508.prototype.cljs$core$async$impl$protocols$Handler$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.async.t_cljs$core$async21508.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1 = ((function (flag){
return (function (_){
var self__ = this;
var ___$1 = this;
return cljs.core.deref.call(null,self__.flag);
});})(flag))
;
cljs.core.async.t_cljs$core$async21508.prototype.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1 = ((function (flag){
return (function (_){
var self__ = this;
var ___$1 = this;
return true;
});})(flag))
;
cljs.core.async.t_cljs$core$async21508.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1 = ((function (flag){
return (function (_){
var self__ = this;
var ___$1 = this;
cljs.core.reset_BANG_.call(null,self__.flag,null);
return true;
});})(flag))
;
cljs.core.async.t_cljs$core$async21508.getBasis = ((function (flag){
return (function (){
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"flag","flag",-1565787888,null),new cljs.core.Symbol(null,"meta21509","meta21509",-1993960740,null)], null);
});})(flag))
;
cljs.core.async.t_cljs$core$async21508.cljs$lang$type = true;
cljs.core.async.t_cljs$core$async21508.cljs$lang$ctorStr = "cljs.core.async/t_cljs$core$async21508";
cljs.core.async.t_cljs$core$async21508.cljs$lang$ctorPrWriter = ((function (flag){
return (function (this__7149__auto__,writer__7150__auto__,opt__7151__auto__){
return cljs.core._write.call(null,writer__7150__auto__,"cljs.core.async/t_cljs$core$async21508");
});})(flag))
;
cljs.core.async.__GT_t_cljs$core$async21508 = ((function (flag){
return (function cljs$core$async$alt_flag_$___GT_t_cljs$core$async21508(flag__$1,meta21509){
return (new cljs.core.async.t_cljs$core$async21508(flag__$1,meta21509));
});})(flag))
;
}
return (new cljs.core.async.t_cljs$core$async21508(flag,cljs.core.PersistentArrayMap.EMPTY));
});
cljs.core.async.alt_handler = (function cljs$core$async$alt_handler(flag,cb){
if(typeof cljs.core.async.t_cljs$core$async21562 !== 'undefined'){
} else {
/**
* @constructor
* @implements {cljs.core.async.impl.protocols.Handler}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.IWithMeta}
*/
cljs.core.async.t_cljs$core$async21562 = (function (flag,cb,meta21563){
this.flag = flag;
this.cb = cb;
this.meta21563 = meta21563;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
})
cljs.core.async.t_cljs$core$async21562.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_21564,meta21563__$1){
var self__ = this;
var _21564__$1 = this;
return (new cljs.core.async.t_cljs$core$async21562(self__.flag,self__.cb,meta21563__$1));
});
cljs.core.async.t_cljs$core$async21562.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_21564){
var self__ = this;
var _21564__$1 = this;
return self__.meta21563;
});
cljs.core.async.t_cljs$core$async21562.prototype.cljs$core$async$impl$protocols$Handler$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.async.t_cljs$core$async21562.prototype.cljs$core$async$impl$protocols$Handler$active_QMARK_$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return cljs.core.async.impl.protocols.active_QMARK_.call(null,self__.flag);
});
cljs.core.async.t_cljs$core$async21562.prototype.cljs$core$async$impl$protocols$Handler$blockable_QMARK_$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return true;
});
cljs.core.async.t_cljs$core$async21562.prototype.cljs$core$async$impl$protocols$Handler$commit$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
cljs.core.async.impl.protocols.commit.call(null,self__.flag);
return self__.cb;
});
cljs.core.async.t_cljs$core$async21562.getBasis = (function (){
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Symbol(null,"flag","flag",-1565787888,null),new cljs.core.Symbol(null,"cb","cb",-2064487928,null),new cljs.core.Symbol(null,"meta21563","meta21563",704641518,null)], null);
});
cljs.core.async.t_cljs$core$async21562.cljs$lang$type = true;
cljs.core.async.t_cljs$core$async21562.cljs$lang$ctorStr = "cljs.core.async/t_cljs$core$async21562";
cljs.core.async.t_cljs$core$async21562.cljs$lang$ctorPrWriter = (function (this__7149__auto__,writer__7150__auto__,opt__7151__auto__){
return cljs.core._write.call(null,writer__7150__auto__,"cljs.core.async/t_cljs$core$async21562");
});
cljs.core.async.__GT_t_cljs$core$async21562 = (function cljs$core$async$alt_handler_$___GT_t_cljs$core$async21562(flag__$1,cb__$1,meta21563){
return (new cljs.core.async.t_cljs$core$async21562(flag__$1,cb__$1,meta21563));
});
}
return (new cljs.core.async.t_cljs$core$async21562(flag,cb,cljs.core.PersistentArrayMap.EMPTY));
});
/**
* returns derefable [val port] if immediate, nil if enqueued
*/
cljs.core.async.do_alts = (function cljs$core$async$do_alts(fret,ports,opts){
var flag = cljs.core.async.alt_flag.call(null);
var n = cljs.core.count.call(null,ports);
var idxs = cljs.core.async.random_array.call(null,n);
var priority = new cljs.core.Keyword(null,"priority","priority",1431093715).cljs$core$IFn$_invoke$arity$1(opts);
var ret = (function (){var i = (0);
while(true){
if((i < n)){
var idx = (cljs.core.truth_(priority)?i:(idxs[i]));
var port = cljs.core.nth.call(null,ports,idx);
var wport = ((cljs.core.vector_QMARK_.call(null,port))?port.call(null,(0)):null);
var vbox = (cljs.core.truth_(wport)?(function (){var val = port.call(null,(1));
return cljs.core.async.impl.protocols.put_BANG_.call(null,wport,val,cljs.core.async.alt_handler.call(null,flag,((function (i,val,idx,port,wport,flag,n,idxs,priority){
return (function (p1__21586_SHARP_){
return fret.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [p1__21586_SHARP_,wport], null));
});})(i,val,idx,port,wport,flag,n,idxs,priority))
));
})():cljs.core.async.impl.protocols.take_BANG_.call(null,port,cljs.core.async.alt_handler.call(null,flag,((function (i,idx,port,wport,flag,n,idxs,priority){
return (function (p1__21587_SHARP_){
return fret.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [p1__21587_SHARP_,port], null));
});})(i,idx,port,wport,flag,n,idxs,priority))
)));
if(cljs.core.truth_(vbox)){
return cljs.core.async.impl.channels.box.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.deref.call(null,vbox),(function (){var or__6543__auto__ = wport;
if(cljs.core.truth_(or__6543__auto__)){
return or__6543__auto__;
} else {
return port;
}
})()], null));
} else {
var G__21619 = (i + (1));
i = G__21619;
continue;
}
} else {
return null;
}
break;
}
})();
var or__6543__auto__ = ret;
if(cljs.core.truth_(or__6543__auto__)){
return or__6543__auto__;
} else {
if(cljs.core.contains_QMARK_.call(null,opts,new cljs.core.Keyword(null,"default","default",-1987822328))){
var temp__4657__auto__ = (function (){var and__6531__auto__ = cljs.core.async.impl.protocols.active_QMARK_.call(null,flag);
if(cljs.core.truth_(and__6531__auto__)){
return cljs.core.async.impl.protocols.commit.call(null,flag);
} else {
return and__6531__auto__;
}
})();
if(cljs.core.truth_(temp__4657__auto__)){
var got = temp__4657__auto__;
return cljs.core.async.impl.channels.box.call(null,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"default","default",-1987822328).cljs$core$IFn$_invoke$arity$1(opts),new cljs.core.Keyword(null,"default","default",-1987822328)], null));
} else {
return null;
}
} else {
return null;
}
}
});
/**
* Completes at most one of several channel operations. Must be called
* inside a (go ...) block. ports is a vector of channel endpoints,
* which can be either a channel to take from or a vector of
* [channel-to-put-to val-to-put], in any combination. Takes will be
* made as if by <!, and puts will be made as if by >!. Unless
* the :priority option is true, if more than one port operation is
* ready a non-deterministic choice will be made. If no operation is
* ready and a :default value is supplied, [default-val :default] will
* be returned, otherwise alts! will park until the first operation to
* become ready completes. Returns [val port] of the completed
* operation, where val is the value taken for takes, and a
* boolean (true unless already closed, as per put!) for puts.
*
* opts are passed as :key val ... Supported options:
*
* :default val - the value to use if none of the operations are immediately ready
* :priority true - (default nil) when true, the operations will be tried in order.
*
* Note: there is no guarantee that the port exps or val exprs will be
* used, nor in what order should they be, so they should not be
* depended upon for side effects.
*/
cljs.core.async.alts_BANG_ = (function cljs$core$async$alts_BANG_(var_args){
var args__7658__auto__ = [];
var len__7651__auto___21642 = arguments.length;
var i__7652__auto___21646 = (0);
while(true){
if((i__7652__auto___21646 < len__7651__auto___21642)){
args__7658__auto__.push((arguments[i__7652__auto___21646]));
var G__21650 = (i__7652__auto___21646 + (1));
i__7652__auto___21646 = G__21650;
continue;
} else {
}
break;
}
var argseq__7659__auto__ = ((((1) < args__7658__auto__.length))?(new cljs.core.IndexedSeq(args__7658__auto__.slice((1)),(0),null)):null);
return cljs.core.async.alts_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__7659__auto__);
});
cljs.core.async.alts_BANG_.cljs$core$IFn$_invoke$arity$variadic = (function (ports,p__21625){
var map__21626 = p__21625;
var map__21626__$1 = ((((!((map__21626 == null)))?((((map__21626.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__21626.cljs$core$ISeq$)))?true:false):false))?cljs.core.apply.call(null,cljs.core.hash_map,map__21626):map__21626);
var opts = map__21626__$1;
throw (new Error("alts! used not in (go ...) block"));
});
cljs.core.async.alts_BANG_.cljs$lang$maxFixedArity = (1);
cljs.core.async.alts_BANG_.cljs$lang$applyTo = (function (seq21620){
var G__21621 = cljs.core.first.call(null,seq21620);
var seq21620__$1 = cljs.core.next.call(null,seq21620);
return cljs.core.async.alts_BANG_.cljs$core$IFn$_invoke$arity$variadic(G__21621,seq21620__$1);
});
/**
* Puts a val into port if it's possible to do so immediately.
* nil values are not allowed. Never blocks. Returns true if offer succeeds.
*/
cljs.core.async.offer_BANG_ = (function cljs$core$async$offer_BANG_(port,val){
var ret = cljs.core.async.impl.protocols.put_BANG_.call(null,port,val,cljs.core.async.fn_handler.call(null,cljs.core.async.nop,false));
if(cljs.core.truth_(ret)){
return cljs.core.deref.call(null,ret);
} else {
return null;
}
});
/**
* Takes a val from port if it's possible to do so immediately.
* Never blocks. Returns value if successful, nil otherwise.
*/
cljs.core.async.poll_BANG_ = (function cljs$core$async$poll_BANG_(port){
var ret = cljs.core.async.impl.protocols.take_BANG_.call(null,port,cljs.core.async.fn_handler.call(null,cljs.core.async.nop,false));
if(cljs.core.truth_(ret)){
return cljs.core.deref.call(null,ret);
} else {
return null;
}
});
/**
* Takes elements from the from channel and supplies them to the to
* channel. By default, the to channel will be closed when the from
* channel closes, but can be determined by the close? parameter. Will
* stop consuming the from channel if the to channel closes
*/
cljs.core.async.pipe = (function cljs$core$async$pipe(var_args){
var args21664 = [];
var len__7651__auto___21750 = arguments.length;
var i__7652__auto___21751 = (0);
while(true){
if((i__7652__auto___21751 < len__7651__auto___21750)){
args21664.push((arguments[i__7652__auto___21751]));
var G__21752 = (i__7652__auto___21751 + (1));
i__7652__auto___21751 = G__21752;
continue;
} else {
}
break;
}
var G__21667 = args21664.length;
switch (G__21667) {
case 2:
return cljs.core.async.pipe.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.async.pipe.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error([cljs.core.str("Invalid arity: "),cljs.core.str(args21664.length)].join('')));
}
});
cljs.core.async.pipe.cljs$core$IFn$_invoke$arity$2 = (function (from,to){
return cljs.core.async.pipe.call(null,from,to,true);
});
cljs.core.async.pipe.cljs$core$IFn$_invoke$arity$3 = (function (from,to,close_QMARK_){
var c__9825__auto___21772 = cljs.core.async.chan.call(null,(1));
cljs.core.async.impl.dispatch.run.call(null,((function (c__9825__auto___21772){
return (function (){
var f__9826__auto__ = (function (){var switch__9810__auto__ = ((function (c__9825__auto___21772){
return (function (state_21694){
var state_val_21695 = (state_21694[(1)]);
if((state_val_21695 === (7))){
var inst_21690 = (state_21694[(2)]);
var state_21694__$1 = state_21694;
var statearr_21699_21779 = state_21694__$1;
(statearr_21699_21779[(2)] = inst_21690);
(statearr_21699_21779[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_21695 === (1))){
var state_21694__$1 = state_21694;
var statearr_21700_21784 = state_21694__$1;
(statearr_21700_21784[(2)] = null);
(statearr_21700_21784[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_21695 === (4))){
var inst_21673 = (state_21694[(7)]);
var inst_21673__$1 = (state_21694[(2)]);
var inst_21674 = (inst_21673__$1 == null);
var state_21694__$1 = (function (){var statearr_21704 = state_21694;
(statearr_21704[(7)] = inst_21673__$1);
return statearr_21704;
})();
if(cljs.core.truth_(inst_21674)){
var statearr_21705_21791 = state_21694__$1;
(statearr_21705_21791[(1)] = (5));
} else {
var statearr_21706_21795 = state_21694__$1;
(statearr_21706_21795[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_21695 === (13))){
var state_21694__$1 = state_21694;
var statearr_21711_21799 = state_21694__$1;
(statearr_21711_21799[(2)] = null);
(statearr_21711_21799[(1)] = (14));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_21695 === (6))){
var inst_21673 = (state_21694[(7)]);
var state_21694__$1 = state_21694;
return cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,state_21694__$1,(11),to,inst_21673);
} else {
if((state_val_21695 === (3))){
var inst_21692 = (state_21694[(2)]);
var state_21694__$1 = state_21694;
return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_21694__$1,inst_21692);
} else {
if((state_val_21695 === (12))){
var state_21694__$1 = state_21694;
var statearr_21715_21810 = state_21694__$1;
(statearr_21715_21810[(2)] = null);
(statearr_21715_21810[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_21695 === (2))){
var state_21694__$1 = state_21694;
return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_21694__$1,(4),from);
} else {
if((state_val_21695 === (11))){
var inst_21683 = (state_21694[(2)]);
var state_21694__$1 = state_21694;
if(cljs.core.truth_(inst_21683)){
var statearr_21716_21817 = state_21694__$1;
(statearr_21716_21817[(1)] = (12));
} else {
var statearr_21717_21822 = state_21694__$1;
(statearr_21717_21822[(1)] = (13));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_21695 === (9))){
var state_21694__$1 = state_21694;
var statearr_21721_21825 = state_21694__$1;
(statearr_21721_21825[(2)] = null);
(statearr_21721_21825[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_21695 === (5))){
var state_21694__$1 = state_21694;
if(cljs.core.truth_(close_QMARK_)){
var statearr_21722_21832 = state_21694__$1;
(statearr_21722_21832[(1)] = (8));
} else {
var statearr_21723_21833 = state_21694__$1;
(statearr_21723_21833[(1)] = (9));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_21695 === (14))){
var inst_21688 = (state_21694[(2)]);
var state_21694__$1 = state_21694;
var statearr_21724_21837 = state_21694__$1;
(statearr_21724_21837[(2)] = inst_21688);
(statearr_21724_21837[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_21695 === (10))){
var inst_21680 = (state_21694[(2)]);
var state_21694__$1 = state_21694;
var statearr_21728_21845 = state_21694__$1;
(statearr_21728_21845[(2)] = inst_21680);
(statearr_21728_21845[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_21695 === (8))){
var inst_21677 = cljs.core.async.close_BANG_.call(null,to);
var state_21694__$1 = state_21694;
var statearr_21729_21851 = state_21694__$1;
(statearr_21729_21851[(2)] = inst_21677);
(statearr_21729_21851[(1)] = (10));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});})(c__9825__auto___21772))
;
return ((function (switch__9810__auto__,c__9825__auto___21772){
return (function() {
var cljs$core$async$state_machine__9811__auto__ = null;
var cljs$core$async$state_machine__9811__auto____0 = (function (){
var statearr_21740 = [null,null,null,null,null,null,null,null];
(statearr_21740[(0)] = cljs$core$async$state_machine__9811__auto__);
(statearr_21740[(1)] = (1));
return statearr_21740;
});
var cljs$core$async$state_machine__9811__auto____1 = (function (state_21694){
while(true){
var ret_value__9812__auto__ = (function (){try{while(true){
var result__9813__auto__ = switch__9810__auto__.call(null,state_21694);
if(cljs.core.keyword_identical_QMARK_.call(null,result__9813__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__9813__auto__;
}
break;
}
}catch (e21744){if((e21744 instanceof Object)){
var ex__9814__auto__ = e21744;
var statearr_21745_21866 = state_21694;
(statearr_21745_21866[(5)] = ex__9814__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_21694);
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
throw e21744;
}
}})();
if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__9812__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__21868 = state_21694;
state_21694 = G__21868;
continue;
} else {
return ret_value__9812__auto__;
}
break;
}
});
cljs$core$async$state_machine__9811__auto__ = function(state_21694){
switch(arguments.length){
case 0:
return cljs$core$async$state_machine__9811__auto____0.call(this);
case 1:
return cljs$core$async$state_machine__9811__auto____1.call(this,state_21694);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$state_machine__9811__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$state_machine__9811__auto____0;
cljs$core$async$state_machine__9811__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$state_machine__9811__auto____1;
return cljs$core$async$state_machine__9811__auto__;
})()
;})(switch__9810__auto__,c__9825__auto___21772))
})();
var state__9827__auto__ = (function (){var statearr_21749 = f__9826__auto__.call(null);
(statearr_21749[cljs.core.async.impl.ioc_helpers.USER_START_IDX] = c__9825__auto___21772);
return statearr_21749;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__9827__auto__);
});})(c__9825__auto___21772))
);
return to;
});
cljs.core.async.pipe.cljs$lang$maxFixedArity = 3;
cljs.core.async.pipeline_STAR_ = (function cljs$core$async$pipeline_STAR_(n,to,xf,from,close_QMARK_,ex_handler,type){
if((n > (0))){
} else {
throw (new Error("Assert failed: (pos? n)"));
}
var jobs = cljs.core.async.chan.call(null,n);
var results = cljs.core.async.chan.call(null,n);
var process = ((function (jobs,results){
return (function (p__22112){
var vec__22113 = p__22112;
var v = cljs.core.nth.call(null,vec__22113,(0),null);
var p = cljs.core.nth.call(null,vec__22113,(1),null);
var job = vec__22113;
if((job == null)){
cljs.core.async.close_BANG_.call(null,results);
return null;
} else {
var res = cljs.core.async.chan.call(null,(1),xf,ex_handler);
var c__9825__auto___22349 = cljs.core.async.chan.call(null,(1));
cljs.core.async.impl.dispatch.run.call(null,((function (c__9825__auto___22349,res,vec__22113,v,p,job,jobs,results){
return (function (){
var f__9826__auto__ = (function (){var switch__9810__auto__ = ((function (c__9825__auto___22349,res,vec__22113,v,p,job,jobs,results){
return (function (state_22120){
var state_val_22121 = (state_22120[(1)]);
if((state_val_22121 === (1))){
var state_22120__$1 = state_22120;
return cljs.core.async.impl.ioc_helpers.put_BANG_.call(null,state_22120__$1,(2),res,v);
} else {
if((state_val_22121 === (2))){
var inst_22117 = (state_22120[(2)]);
var inst_22118 = cljs.core.async.close_BANG_.call(null,res);
var state_22120__$1 = (function (){var statearr_22122 = state_22120;
(statearr_22122[(7)] = inst_22117);
return statearr_22122;
})();
return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_22120__$1,inst_22118);
} else {
return null;
}
}
});})(c__9825__auto___22349,res,vec__22113,v,p,job,jobs,results))
;
return ((function (switch__9810__auto__,c__9825__auto___22349,res,vec__22113,v,p,job,jobs,results){
return (function() {
var cljs$core$async$pipeline_STAR__$_state_machine__9811__auto__ = null;
var cljs$core$async$pipeline_STAR__$_state_machine__9811__auto____0 = (function (){
var statearr_22133 = [null,null,null,null,null,null,null,null];
(statearr_22133[(0)] = cljs$core$async$pipeline_STAR__$_state_machine__9811__auto__);
(statearr_22133[(1)] = (1));
return statearr_22133;
});
var cljs$core$async$pipeline_STAR__$_state_machine__9811__auto____1 = (function (state_22120){
while(true){
var ret_value__9812__auto__ = (function (){try{while(true){
var result__9813__auto__ = switch__9810__auto__.call(null,state_22120);
if(cljs.core.keyword_identical_QMARK_.call(null,result__9813__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__9813__auto__;
}
break;
}
}catch (e22135){if((e22135 instanceof Object)){
var ex__9814__auto__ = e22135;
var statearr_22136_22350 = state_22120;
(statearr_22136_22350[(5)] = ex__9814__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_22120);
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
throw e22135;
}
}})();
if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__9812__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__22351 = state_22120;
state_22120 = G__22351;
continue;
} else {
return ret_value__9812__auto__;
}
break;
}
});
cljs$core$async$pipeline_STAR__$_state_machine__9811__auto__ = function(state_22120){
switch(arguments.length){
case 0:
return cljs$core$async$pipeline_STAR__$_state_machine__9811__auto____0.call(this);
case 1:
return cljs$core$async$pipeline_STAR__$_state_machine__9811__auto____1.call(this,state_22120);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$pipeline_STAR__$_state_machine__9811__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$pipeline_STAR__$_state_machine__9811__auto____0;
cljs$core$async$pipeline_STAR__$_state_machine__9811__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$pipeline_STAR__$_state_machine__9811__auto____1;
return cljs$core$async$pipeline_STAR__$_state_machine__9811__auto__;
})()
;})(switch__9810__auto__,c__9825__auto___22349,res,vec__22113,v,p,job,jobs,results))
})();
var state__9827__auto__ = (function (){var statearr_22137 = f__9826__auto__.call(null);
(statearr_22137[cljs.core.async.impl.ioc_helpers.USER_START_IDX] = c__9825__auto___22349);
return statearr_22137;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__9827__auto__);
});})(c__9825__auto___22349,res,vec__22113,v,p,job,jobs,results))
);
cljs.core.async.put_BANG_.call(null,p,res);
return true;
}
});})(jobs,results))
;
var async = ((function (jobs,results,process){
return (function (p__22138){
var vec__22139 = p__22138;
var v = cljs.core.nth.call(null,vec__22139,(0),null);
var p = cljs.core.nth.call(null,vec__22139,(1),null);
var job = vec__22139;
if((job == null)){
cljs.core.async.close_BANG_.call(null,results);
return null;
} else {
var res = cljs.core.async.chan.call(null,(1));
xf.call(null,v,res);
cljs.core.async.put_BANG_.call(null,p,res);
return true;
}
});})(jobs,results,process))
;
var n__7461__auto___22370 = n;
var __22371 = (0);
while(true){
if((__22371 < n__7461__auto___22370)){
var G__22142_22372 = (((type instanceof cljs.core.Keyword))?type.fqn:null);
switch (G__22142_22372) {
case "compute":
var c__9825__auto___22374 = cljs.core.async.chan.call(null,(1));
cljs.core.async.impl.dispatch.run.call(null,((function (__22371,c__9825__auto___22374,G__22142_22372,n__7461__auto___22370,jobs,results,process,async){
return (function (){
var f__9826__auto__ = (function (){var switch__9810__auto__ = ((function (__22371,c__9825__auto___22374,G__22142_22372,n__7461__auto___22370,jobs,results,process,async){
return (function (state_22155){
var state_val_22156 = (state_22155[(1)]);
if((state_val_22156 === (1))){
var state_22155__$1 = state_22155;
var statearr_22158_22375 = state_22155__$1;
(statearr_22158_22375[(2)] = null);
(statearr_22158_22375[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_22156 === (2))){
var state_22155__$1 = state_22155;
return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_22155__$1,(4),jobs);
} else {
if((state_val_22156 === (3))){
var inst_22153 = (state_22155[(2)]);
var state_22155__$1 = state_22155;
return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_22155__$1,inst_22153);
} else {
if((state_val_22156 === (4))){
var inst_22145 = (state_22155[(2)]);
var inst_22146 = process.call(null,inst_22145);
var state_22155__$1 = state_22155;
if(cljs.core.truth_(inst_22146)){
var statearr_22159_22376 = state_22155__$1;
(statearr_22159_22376[(1)] = (5));
} else {
var statearr_22160_22377 = state_22155__$1;
(statearr_22160_22377[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_22156 === (5))){
var state_22155__$1 = state_22155;
var statearr_22161_22378 = state_22155__$1;
(statearr_22161_22378[(2)] = null);
(statearr_22161_22378[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_22156 === (6))){
var state_22155__$1 = state_22155;
var statearr_22162_22381 = state_22155__$1;
(statearr_22162_22381[(2)] = null);
(statearr_22162_22381[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_22156 === (7))){
var inst_22151 = (state_22155[(2)]);
var state_22155__$1 = state_22155;
var statearr_22163_22382 = state_22155__$1;
(statearr_22163_22382[(2)] = inst_22151);
(statearr_22163_22382[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
});})(__22371,c__9825__auto___22374,G__22142_22372,n__7461__auto___22370,jobs,results,process,async))
;
return ((function (__22371,switch__9810__auto__,c__9825__auto___22374,G__22142_22372,n__7461__auto___22370,jobs,results,process,async){
return (function() {
var cljs$core$async$pipeline_STAR__$_state_machine__9811__auto__ = null;
var cljs$core$async$pipeline_STAR__$_state_machine__9811__auto____0 = (function (){
var statearr_22167 = [null,null,null,null,null,null,null];
(statearr_22167[(0)] = cljs$core$async$pipeline_STAR__$_state_machine__9811__auto__);
(statearr_22167[(1)] = (1));
return statearr_22167;
});
var cljs$core$async$pipeline_STAR__$_state_machine__9811__auto____1 = (function (state_22155){
while(true){
var ret_value__9812__auto__ = (function (){try{while(true){
var result__9813__auto__ = switch__9810__auto__.call(null,state_22155);
if(cljs.core.keyword_identical_QMARK_.call(null,result__9813__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__9813__auto__;
}
break;
}
}catch (e22168){if((e22168 instanceof Object)){
var ex__9814__auto__ = e22168;
var statearr_22169_22383 = state_22155;
(statearr_22169_22383[(5)] = ex__9814__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_22155);
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
throw e22168;
}
}})();
if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__9812__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__22384 = state_22155;
state_22155 = G__22384;
continue;
} else {
return ret_value__9812__auto__;
}
break;
}
});
cljs$core$async$pipeline_STAR__$_state_machine__9811__auto__ = function(state_22155){
switch(arguments.length){
case 0:
return cljs$core$async$pipeline_STAR__$_state_machine__9811__auto____0.call(this);
case 1:
return cljs$core$async$pipeline_STAR__$_state_machine__9811__auto____1.call(this,state_22155);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
cljs$core$async$pipeline_STAR__$_state_machine__9811__auto__.cljs$core$IFn$_invoke$arity$0 = cljs$core$async$pipeline_STAR__$_state_machine__9811__auto____0;
cljs$core$async$pipeline_STAR__$_state_machine__9811__auto__.cljs$core$IFn$_invoke$arity$1 = cljs$core$async$pipeline_STAR__$_state_machine__9811__auto____1;
return cljs$core$async$pipeline_STAR__$_state_machine__9811__auto__;
})()
;})(__22371,switch__9810__auto__,c__9825__auto___22374,G__22142_22372,n__7461__auto___22370,jobs,results,process,async))
})();
var state__9827__auto__ = (function (){var statearr_22170 = f__9826__auto__.call(null);
(statearr_22170[cljs.core.async.impl.ioc_helpers.USER_START_IDX] = c__9825__auto___22374);
return statearr_22170;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__9827__auto__);
});})(__22371,c__9825__auto___22374,G__22142_22372,n__7461__auto___22370,jobs,results,process,async))
);
break;
case "async":
var c__9825__auto___22385 = cljs.core.async.chan.call(null,(1));
cljs.core.async.impl.dispatch.run.call(null,((function (__22371,c__9825__auto___22385,G__22142_22372,n__7461__auto___22370,jobs,results,process,async){
return (function (){
var f__9826__auto__ = (function (){var switch__9810__auto__ = ((function (__22371,c__9825__auto___22385,G__22142_22372,n__7461__auto___22370,jobs,results,process,async){
return (function (state_22183){
var state_val_22184 = (state_22183[(1)]);
if((state_val_22184 === (1))){
var state_22183__$1 = state_22183;
var statearr_22185_22392 = state_22183__$1;
(statearr_22185_22392[(2)] = null);
(statearr_22185_22392[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_22184 === (2))){
var state_22183__$1 = state_22183;
return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_22183__$1,(4),jobs);
} else {
if((state_val_22184 === (3))){
var inst_22181 = (state_22183[(2)]);
var state_22183__$1 = state_22183;
return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_22183__$1,inst_22181);
} else {
if((state_val_22184 === (4))){
var inst_22173 = (state_22183[(2)]);
var inst_22174 = async.call(null,inst_22173);
var state_22183__$1 = state_22183;
if(cljs.core.truth_(inst_22174)){
var statearr_22186_22398 = state_22183__$1;
(statearr_22186_22398[(1)] = (5));
} else {
var statearr_22187_22399 = state_22183__$1;
(statearr_22187_22399[(1)] = (6));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_22184 === (5))){
var state_22183__$1 = state_22183;
var statearr_22188_22401 = state_22183__$1;
(statearr_22188_22401[(2)] = null);
(statearr_22188_22401[(1)] = (2));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_22184 === (6))){
var state_22183__$1 = state_22183;
var statearr_22189_22402 = state_22183__$1;
(statearr_22189_22402[(2)] = null);
(statearr_22189_22402[(1)] = (7));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_22184 === (7))){
var inst_22179 = (state_22183[(2)]);
var state_22183__$1 = state_22183;
var statearr_22190_22403 = state_22183__$1;
(statearr_22190_22403[(2)] = inst_22179);
(statearr_22190_22403[(1)] = (3));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
});})(__22371,c__9825__auto___22385,G__22142_22372,n__7461__auto___22370,jobs,results,process,async))
;
return ((function (__22371,switch__9810__auto__,c__9825__auto___22385,G__22142_22372,n__7461__auto___22370,jobs,results,process,async){
return (function() {
var cljs$core$async$pipeline_STAR__$_state_machine__9811__auto__ = null;
var cljs$core$async$pipeline_STAR__$_state_machine__9811__auto____0 = (function (){
var statearr_22194 = [null,null,null,null,null,null,null];
(statearr_22194[(0)] = cljs$core$async$pipeline_STAR__$_state_machine__9811__auto__);
(statearr_22194[(1)] =