Files
2018-01-27 11:50:00 -05:00

36068 lines
1.1 MiB
Plaintext

// Compiled by ClojureScript 1.9.946 {:static-fns true, :optimize-constants true}
goog.provide('cljs.core');
goog.require('goog.math.Long');
goog.require('goog.math.Integer');
goog.require('goog.string');
goog.require('goog.object');
goog.require('goog.array');
goog.require('goog.Uri');
goog.require('goog.string.StringBuffer');
cljs.core._STAR_clojurescript_version_STAR_ = "1.9.946";
cljs.core._STAR_unchecked_if_STAR_ = false;
cljs.core._STAR_unchecked_arrays_STAR_ = false;
cljs.core._STAR_warn_on_infer_STAR_ = false;
if(typeof cljs.core.PROTOCOL_SENTINEL !== 'undefined'){
} else {
cljs.core.PROTOCOL_SENTINEL = ({});
}
cljs.core.MODULE_URIS = null;
cljs.core.MODULE_INFOS = null;
/** @define {string} */
goog.define("cljs.core._STAR_target_STAR_","default");
/**
* Var bound to the current namespace. Only used for bootstrapping.
* @type {*}
*/
cljs.core._STAR_ns_STAR_ = null;
/**
* @type {*}
*/
cljs.core._STAR_out_STAR_ = null;
cljs.core._STAR_assert_STAR_ = true;
if(typeof cljs.core._STAR_print_fn_STAR_ !== 'undefined'){
} else {
/**
* Each runtime environment provides a different way to print output.
* Whatever function *print-fn* is bound to will be passed any
* Strings which should be printed.
*/
cljs.core._STAR_print_fn_STAR_ = null;
}
if(typeof cljs.core._STAR_print_err_fn_STAR_ !== 'undefined'){
} else {
/**
* Each runtime environment provides a different way to print error output.
* Whatever function *print-err-fn* is bound to will be passed any
* Strings which should be printed.
*/
cljs.core._STAR_print_err_fn_STAR_ = null;
}
/**
* Set *print-fn* to f.
*/
cljs.core.set_print_fn_BANG_ = (function cljs$core$set_print_fn_BANG_(f){
return cljs.core._STAR_print_fn_STAR_ = f;
});
/**
* Set *print-err-fn* to f.
*/
cljs.core.set_print_err_fn_BANG_ = (function cljs$core$set_print_err_fn_BANG_(f){
return cljs.core._STAR_print_err_fn_STAR_ = f;
});
/**
* When set to true, output will be flushed whenever a newline is printed.
*
* Defaults to true.
*/
cljs.core._STAR_flush_on_newline_STAR_ = true;
/**
* When set to logical false will drop newlines from printing calls.
* This is to work around the implicit newlines emitted by standard JavaScript
* console objects.
*/
cljs.core._STAR_print_newline_STAR_ = true;
/**
* When set to logical false, strings and characters will be printed with
* non-alphanumeric characters converted to the appropriate escape sequences.
*
* Defaults to true
*/
cljs.core._STAR_print_readably_STAR_ = true;
/**
* If set to logical true, when printing an object, its metadata will also
* be printed in a form that can be read back by the reader.
*
* Defaults to false.
*/
cljs.core._STAR_print_meta_STAR_ = false;
/**
* When set to logical true, objects will be printed in a way that preserves
* their type when read in later.
*
* Defaults to false.
*/
cljs.core._STAR_print_dup_STAR_ = false;
/**
* *print-namespace-maps* controls whether the printer will print
* namespace map literal syntax.
*
* Defaults to false, but the REPL binds it to true.
*/
cljs.core._STAR_print_namespace_maps_STAR_ = false;
/**
* *print-length* controls how many items of each collection the
* printer will print. If it is bound to logical false, there is no
* limit. Otherwise, it must be bound to an integer indicating the maximum
* number of items of each collection to print. If a collection contains
* more items, the printer will print items up to the limit followed by
* '...' to represent the remaining items. The root binding is nil
* indicating no limit.
* @type {null|number}
*/
cljs.core._STAR_print_length_STAR_ = null;
/**
* *print-level* controls how many levels deep the printer will
* print nested objects. If it is bound to logical false, there is no
* limit. Otherwise, it must be bound to an integer indicating the maximum
* level to print. Each argument to print is at level 0; if an argument is a
* collection, its items are at level 1; and so on. If an object is a
* collection and is at a level greater than or equal to the value bound to
* *print-level*, the printer prints '#' to represent it. The root binding
* is nil indicating no limit.
* @type {null|number}
*/
cljs.core._STAR_print_level_STAR_ = null;
/**
* *print-fns-bodies* controls whether functions print their source or
* only their names.
*/
cljs.core._STAR_print_fn_bodies_STAR_ = false;
if(typeof cljs.core._STAR_loaded_libs_STAR_ !== 'undefined'){
} else {
/**
* @type {*}
*/
cljs.core._STAR_loaded_libs_STAR_ = null;
}
cljs.core.pr_opts = (function cljs$core$pr_opts(){
return new cljs.core.PersistentArrayMap(null, 5, [cljs.core.cst$kw$flush_DASH_on_DASH_newline,cljs.core._STAR_flush_on_newline_STAR_,cljs.core.cst$kw$readably,cljs.core._STAR_print_readably_STAR_,cljs.core.cst$kw$meta,cljs.core._STAR_print_meta_STAR_,cljs.core.cst$kw$dup,cljs.core._STAR_print_dup_STAR_,cljs.core.cst$kw$print_DASH_length,cljs.core._STAR_print_length_STAR_], null);
});
/**
* Set *print-fn* to console.log
*/
cljs.core.enable_console_print_BANG_ = (function cljs$core$enable_console_print_BANG_(){
cljs.core._STAR_print_newline_STAR_ = false;
cljs.core._STAR_print_fn_STAR_ = (function() {
var G__11668__delegate = function (args){
return console.log.apply(console,cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(args));
};
var G__11668 = function (var_args){
var args = null;
if (arguments.length > 0) {
var G__11669__i = 0, G__11669__a = new Array(arguments.length - 0);
while (G__11669__i < G__11669__a.length) {G__11669__a[G__11669__i] = arguments[G__11669__i + 0]; ++G__11669__i;}
args = new cljs.core.IndexedSeq(G__11669__a,0,null);
}
return G__11668__delegate.call(this,args);};
G__11668.cljs$lang$maxFixedArity = 0;
G__11668.cljs$lang$applyTo = (function (arglist__11670){
var args = cljs.core.seq(arglist__11670);
return G__11668__delegate(args);
});
G__11668.cljs$core$IFn$_invoke$arity$variadic = G__11668__delegate;
return G__11668;
})()
;
cljs.core._STAR_print_err_fn_STAR_ = (function() {
var G__11671__delegate = function (args){
return console.error.apply(console,cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(args));
};
var G__11671 = function (var_args){
var args = null;
if (arguments.length > 0) {
var G__11672__i = 0, G__11672__a = new Array(arguments.length - 0);
while (G__11672__i < G__11672__a.length) {G__11672__a[G__11672__i] = arguments[G__11672__i + 0]; ++G__11672__i;}
args = new cljs.core.IndexedSeq(G__11672__a,0,null);
}
return G__11671__delegate.call(this,args);};
G__11671.cljs$lang$maxFixedArity = 0;
G__11671.cljs$lang$applyTo = (function (arglist__11673){
var args = cljs.core.seq(arglist__11673);
return G__11671__delegate(args);
});
G__11671.cljs$core$IFn$_invoke$arity$variadic = G__11671__delegate;
return G__11671;
})()
;
return null;
});
/**
* Internal - do not use!
*/
cljs.core.truth_ = (function cljs$core$truth_(x){
return (x != null && x !== false);
});
cljs.core.not_native = null;
/**
* Tests if 2 arguments are the same object
*/
cljs.core.identical_QMARK_ = (function cljs$core$identical_QMARK_(x,y){
return (x === y);
});
/**
* Returns true if x is nil, false otherwise.
*/
cljs.core.nil_QMARK_ = (function cljs$core$nil_QMARK_(x){
return (x == null);
});
/**
* Returns true if x is a JavaScript array.
*/
cljs.core.array_QMARK_ = (function cljs$core$array_QMARK_(x){
if((cljs.core._STAR_target_STAR_ === "nodejs")){
return Array.isArray(x);
} else {
return (x instanceof Array);
}
});
/**
* Returns true if x is a JavaScript number.
*/
cljs.core.number_QMARK_ = (function cljs$core$number_QMARK_(x){
return typeof x === 'number';
});
/**
* Returns true if x is logical false, false otherwise.
*/
cljs.core.not = (function cljs$core$not(x){
if((x == null)){
return true;
} else {
if(x === false){
return true;
} else {
return false;
}
}
});
/**
* Returns true if x is not nil, false otherwise.
*/
cljs.core.some_QMARK_ = (function cljs$core$some_QMARK_(x){
return !((x == null));
});
/**
* Returns true if x's constructor is Object
*/
cljs.core.object_QMARK_ = (function cljs$core$object_QMARK_(x){
if(!((x == null))){
return (x.constructor === Object);
} else {
return false;
}
});
/**
* Returns true if x is a JavaScript string.
*/
cljs.core.string_QMARK_ = (function cljs$core$string_QMARK_(x){
return goog.isString(x);
});
/**
* Returns true if x is a JavaScript string of length one.
*/
cljs.core.char_QMARK_ = (function cljs$core$char_QMARK_(x){
return (typeof x === 'string') && (((1) === x.length));
});
/**
* Returns true if given any argument.
*/
cljs.core.any_QMARK_ = (function cljs$core$any_QMARK_(x){
return true;
});
/**
* Internal - do not use!
*/
cljs.core.native_satisfies_QMARK_ = (function cljs$core$native_satisfies_QMARK_(p,x){
var x__$1 = (((x == null))?null:x);
if((p[goog.typeOf(x__$1)])){
return true;
} else {
if((p["_"])){
return true;
} else {
return false;
}
}
});
cljs.core.is_proto_ = (function cljs$core$is_proto_(x){
return (x.constructor.prototype === x);
});
/**
* When compiled for a command-line target, whatever function
* *main-cli-fn* is set to will be called with the command-line
* argv as arguments
*/
cljs.core._STAR_main_cli_fn_STAR_ = null;
/**
* A sequence of the supplied command line arguments, or nil if
* none were supplied
*/
cljs.core._STAR_command_line_args_STAR_ = null;
/**
* Return x's constructor.
*/
cljs.core.type = (function cljs$core$type(x){
if((x == null)){
return null;
} else {
return x.constructor;
}
});
cljs.core.missing_protocol = (function cljs$core$missing_protocol(proto,obj){
var ty = cljs.core.type(obj);
var ty__$1 = (cljs.core.truth_((function (){var and__8770__auto__ = ty;
if(cljs.core.truth_(and__8770__auto__)){
return ty.cljs$lang$type;
} else {
return and__8770__auto__;
}
})())?ty.cljs$lang$ctorStr:goog.typeOf(obj));
return (new Error(["No protocol method ",proto," defined for type ",ty__$1,": ",obj].join("")));
});
cljs.core.type__GT_str = (function cljs$core$type__GT_str(ty){
var temp__5455__auto__ = ty.cljs$lang$ctorStr;
if(cljs.core.truth_(temp__5455__auto__)){
var s = temp__5455__auto__;
return s;
} else {
return [cljs.core.str.cljs$core$IFn$_invoke$arity$1(ty)].join('');
}
});
cljs.core.load_file = (function cljs$core$load_file(file){
if(cljs.core.truth_(COMPILED)){
return null;
} else {
return goog.nodeGlobalRequire(file);
}
});
if((typeof Symbol !== 'undefined') && ((goog.typeOf(Symbol) === "function"))){
cljs.core.ITER_SYMBOL = Symbol.iterator;
} else {
cljs.core.ITER_SYMBOL = "@@iterator";
}
/**
* @enum {string}
*/
cljs.core.CHAR_MAP = ({"]": "_RBRACK_", "'": "_SINGLEQUOTE_", "=": "_EQ_", "\"": "_DOUBLEQUOTE_", "!": "_BANG_", "*": "_STAR_", "%": "_PERCENT_", "|": "_BAR_", "~": "_TILDE_", "/": "_SLASH_", "\\": "_BSLASH_", "-": "_", "?": "_QMARK_", "&": "_AMPERSAND_", ":": "_COLON_", "<": "_LT_", "{": "_LBRACE_", "}": "_RBRACE_", "[": "_LBRACK_", "#": "_SHARP_", "^": "_CARET_", "+": "_PLUS_", "@": "_CIRCA_", ">": "_GT_"});
/**
* @enum {string}
*/
cljs.core.DEMUNGE_MAP = ({"_RBRACE_": "}", "_COLON_": ":", "_BANG_": "!", "_QMARK_": "?", "_BSLASH_": "\\\\", "_SLASH_": "/", "_PERCENT_": "%", "_PLUS_": "+", "_SHARP_": "#", "_LBRACE_": "{", "_BAR_": "|", "_LBRACK_": "[", "_EQ_": "=", "_": "-", "_TILDE_": "~", "_RBRACK_": "]", "_GT_": ">", "_SINGLEQUOTE_": "'", "_CIRCA_": "@", "_AMPERSAND_": "&", "_DOUBLEQUOTE_": "\\\"", "_CARET_": "^", "_LT_": "<", "_STAR_": "*"});
cljs.core.DEMUNGE_PATTERN = null;
/**
* Returns highest resolution time offered by host in milliseconds.
*/
cljs.core.system_time = (function cljs$core$system_time(){
if((typeof performance !== 'undefined') && (!((performance.now == null)))){
return performance.now();
} else {
if((typeof process !== 'undefined') && (!((process.hrtime == null)))){
var t = process.hrtime();
return ((((t[(0)]) * 1.0E9) + (t[(1)])) / 1000000.0);
} else {
return (new Date()).getTime();
}
}
});
/**
* Construct a JavaScript array of the specified dimensions. Accepts ignored
* type argument for compatibility with Clojure. Note that there is no efficient
* way to allocate multi-dimensional arrays in JavaScript; as such, this function
* will run in polynomial time when called with 3 or more arguments.
*/
cljs.core.make_array = (function cljs$core$make_array(var_args){
var G__11678 = arguments.length;
switch (G__11678) {
case 1:
return cljs.core.make_array.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.make_array.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___11680 = arguments.length;
var i__10062__auto___11681 = (0);
while(true){
if((i__10062__auto___11681 < len__10061__auto___11680)){
args_arr__10084__auto__.push((arguments[i__10062__auto___11681]));
var G__11682 = (i__10062__auto___11681 + (1));
i__10062__auto___11681 = G__11682;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((2)),(0),null));
return cljs.core.make_array.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__10085__auto__);
}
});
cljs.core.make_array.cljs$core$IFn$_invoke$arity$1 = (function (size){
return (new Array(size));
});
cljs.core.make_array.cljs$core$IFn$_invoke$arity$2 = (function (type,size){
return (new Array(size));
});
cljs.core.make_array.cljs$core$IFn$_invoke$arity$variadic = (function (type,size,more_sizes){
var dims = more_sizes;
var dimarray = (new Array(size));
var n__9827__auto___11683 = dimarray.length;
var i_11684 = (0);
while(true){
if((i_11684 < n__9827__auto___11683)){
(dimarray[i_11684] = cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.make_array,null,dims));
var G__11685 = (i_11684 + (1));
i_11684 = G__11685;
continue;
} else {
}
break;
}
return dimarray;
});
cljs.core.make_array.cljs$lang$applyTo = (function (seq11675){
var G__11676 = cljs.core.first(seq11675);
var seq11675__$1 = cljs.core.next(seq11675);
var G__11677 = cljs.core.first(seq11675__$1);
var seq11675__$2 = cljs.core.next(seq11675__$1);
return cljs.core.make_array.cljs$core$IFn$_invoke$arity$variadic(G__11676,G__11677,seq11675__$2);
});
cljs.core.make_array.cljs$lang$maxFixedArity = (2);
/**
* Returns a javascript array, cloned from the passed in array
*/
cljs.core.aclone = (function cljs$core$aclone(arr){
var len = arr.length;
var new_arr = (new Array(len));
var n__9827__auto___11686 = len;
var i_11687 = (0);
while(true){
if((i_11687 < n__9827__auto___11686)){
(new_arr[i_11687] = (arr[i_11687]));
var G__11688 = (i_11687 + (1));
i_11687 = G__11688;
continue;
} else {
}
break;
}
return new_arr;
});
/**
* Creates a new javascript array.
* @param {...*} var_args
*/
cljs.core.array = (function cljs$core$array(var_args){
var a = (new Array(arguments.length));
var i = (0);
while(true){
if((i < a.length)){
(a[i] = (arguments[i]));
var G__11689 = (i + (1));
i = G__11689;
continue;
} else {
return a;
}
break;
}
});
cljs.core.maybe_warn = (function cljs$core$maybe_warn(e){
if(cljs.core.truth_(cljs.core._STAR_print_err_fn_STAR_)){
return (cljs.core._STAR_print_err_fn_STAR_.cljs$core$IFn$_invoke$arity$1 ? cljs.core._STAR_print_err_fn_STAR_.cljs$core$IFn$_invoke$arity$1(e) : cljs.core._STAR_print_err_fn_STAR_.call(null,e));
} else {
return null;
}
});
cljs.core.checked_aget = (function cljs$core$checked_aget(var_args){
var G__11694 = arguments.length;
switch (G__11694) {
case 2:
return cljs.core.checked_aget.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___11697 = arguments.length;
var i__10062__auto___11698 = (0);
while(true){
if((i__10062__auto___11698 < len__10061__auto___11697)){
args_arr__10084__auto__.push((arguments[i__10062__auto___11698]));
var G__11699 = (i__10062__auto___11698 + (1));
i__10062__auto___11698 = G__11699;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((2)),(0),null));
return cljs.core.checked_aget.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__10085__auto__);
}
});
cljs.core.checked_aget.cljs$core$IFn$_invoke$arity$2 = (function (array,idx){
try{if(cljs.core.truth_((function (){var or__8782__auto__ = cljs.core.array_QMARK_(array);
if(or__8782__auto__){
return or__8782__auto__;
} else {
return goog.isArrayLike(array);
}
})())){
} else {
throw (new Error("Assert failed: (or (array? array) (js/goog.isArrayLike array))"));
}
if(typeof idx === 'number'){
} else {
throw (new Error("Assert failed: (number? idx)"));
}
if(!((idx < (0)))){
} else {
throw (new Error("Assert failed: (not (neg? idx))"));
}
if((idx < array.length)){
} else {
throw (new Error("Assert failed: (< idx (alength array))"));
}
}catch (e11695){var e_11700 = e11695;
cljs.core.maybe_warn(e_11700);
}
return (array[idx]);
});
cljs.core.checked_aget.cljs$core$IFn$_invoke$arity$variadic = (function (array,idx,idxs){
return cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.checked_aget,cljs.core.checked_aget.cljs$core$IFn$_invoke$arity$2(array,idx),idxs);
});
cljs.core.checked_aget.cljs$lang$applyTo = (function (seq11691){
var G__11692 = cljs.core.first(seq11691);
var seq11691__$1 = cljs.core.next(seq11691);
var G__11693 = cljs.core.first(seq11691__$1);
var seq11691__$2 = cljs.core.next(seq11691__$1);
return cljs.core.checked_aget.cljs$core$IFn$_invoke$arity$variadic(G__11692,G__11693,seq11691__$2);
});
cljs.core.checked_aget.cljs$lang$maxFixedArity = (2);
cljs.core.checked_aset = (function cljs$core$checked_aset(var_args){
var G__11706 = arguments.length;
switch (G__11706) {
case 3:
return cljs.core.checked_aset.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___11709 = arguments.length;
var i__10062__auto___11710 = (0);
while(true){
if((i__10062__auto___11710 < len__10061__auto___11709)){
args_arr__10084__auto__.push((arguments[i__10062__auto___11710]));
var G__11711 = (i__10062__auto___11710 + (1));
i__10062__auto___11710 = G__11711;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((3)),(0),null));
return cljs.core.checked_aset.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__10085__auto__);
}
});
cljs.core.checked_aset.cljs$core$IFn$_invoke$arity$3 = (function (array,idx,val){
try{if(cljs.core.truth_((function (){var or__8782__auto__ = cljs.core.array_QMARK_(array);
if(or__8782__auto__){
return or__8782__auto__;
} else {
return goog.isArrayLike(array);
}
})())){
} else {
throw (new Error("Assert failed: (or (array? array) (js/goog.isArrayLike array))"));
}
if(typeof idx === 'number'){
} else {
throw (new Error("Assert failed: (number? idx)"));
}
if(!((idx < (0)))){
} else {
throw (new Error("Assert failed: (not (neg? idx))"));
}
if((idx < array.length)){
} else {
throw (new Error("Assert failed: (< idx (alength array))"));
}
}catch (e11707){var e_11712 = e11707;
cljs.core.maybe_warn(e_11712);
}
return (array[idx] = val);
});
cljs.core.checked_aset.cljs$core$IFn$_invoke$arity$variadic = (function (array,idx,idx2,idxv){
return cljs.core.apply.cljs$core$IFn$_invoke$arity$4(cljs.core.checked_aset,cljs.core.checked_aget.cljs$core$IFn$_invoke$arity$2(array,idx),idx2,idxv);
});
cljs.core.checked_aset.cljs$lang$applyTo = (function (seq11702){
var G__11703 = cljs.core.first(seq11702);
var seq11702__$1 = cljs.core.next(seq11702);
var G__11704 = cljs.core.first(seq11702__$1);
var seq11702__$2 = cljs.core.next(seq11702__$1);
var G__11705 = cljs.core.first(seq11702__$2);
var seq11702__$3 = cljs.core.next(seq11702__$2);
return cljs.core.checked_aset.cljs$core$IFn$_invoke$arity$variadic(G__11703,G__11704,G__11705,seq11702__$3);
});
cljs.core.checked_aset.cljs$lang$maxFixedArity = (3);
cljs.core.checked_aget_SINGLEQUOTE_ = (function cljs$core$checked_aget_SINGLEQUOTE_(var_args){
var G__11717 = arguments.length;
switch (G__11717) {
case 2:
return cljs.core.checked_aget_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___11719 = arguments.length;
var i__10062__auto___11720 = (0);
while(true){
if((i__10062__auto___11720 < len__10061__auto___11719)){
args_arr__10084__auto__.push((arguments[i__10062__auto___11720]));
var G__11721 = (i__10062__auto___11720 + (1));
i__10062__auto___11720 = G__11721;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((2)),(0),null));
return cljs.core.checked_aget_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__10085__auto__);
}
});
cljs.core.checked_aget_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$2 = (function (array,idx){
if(cljs.core.truth_((function (){var or__8782__auto__ = cljs.core.array_QMARK_(array);
if(or__8782__auto__){
return or__8782__auto__;
} else {
return goog.isArrayLike(array);
}
})())){
} else {
throw (new Error("Assert failed: (or (array? array) (js/goog.isArrayLike array))"));
}
if(typeof idx === 'number'){
} else {
throw (new Error("Assert failed: (number? idx)"));
}
if(!((idx < (0)))){
} else {
throw (new Error("Assert failed: (not (neg? idx))"));
}
if((idx < array.length)){
} else {
throw (new Error("Assert failed: (< idx (alength array))"));
}
return (array[idx]);
});
cljs.core.checked_aget_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$variadic = (function (array,idx,idxs){
return cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.checked_aget_SINGLEQUOTE_,cljs.core.checked_aget_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$2(array,idx),idxs);
});
cljs.core.checked_aget_SINGLEQUOTE_.cljs$lang$applyTo = (function (seq11714){
var G__11715 = cljs.core.first(seq11714);
var seq11714__$1 = cljs.core.next(seq11714);
var G__11716 = cljs.core.first(seq11714__$1);
var seq11714__$2 = cljs.core.next(seq11714__$1);
return cljs.core.checked_aget_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$variadic(G__11715,G__11716,seq11714__$2);
});
cljs.core.checked_aget_SINGLEQUOTE_.cljs$lang$maxFixedArity = (2);
cljs.core.checked_aset_SINGLEQUOTE_ = (function cljs$core$checked_aset_SINGLEQUOTE_(var_args){
var G__11727 = arguments.length;
switch (G__11727) {
case 3:
return cljs.core.checked_aset_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___11729 = arguments.length;
var i__10062__auto___11730 = (0);
while(true){
if((i__10062__auto___11730 < len__10061__auto___11729)){
args_arr__10084__auto__.push((arguments[i__10062__auto___11730]));
var G__11731 = (i__10062__auto___11730 + (1));
i__10062__auto___11730 = G__11731;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((3)),(0),null));
return cljs.core.checked_aset_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__10085__auto__);
}
});
cljs.core.checked_aset_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$3 = (function (array,idx,val){
if(cljs.core.truth_((function (){var or__8782__auto__ = cljs.core.array_QMARK_(array);
if(or__8782__auto__){
return or__8782__auto__;
} else {
return goog.isArrayLike(array);
}
})())){
} else {
throw (new Error("Assert failed: (or (array? array) (js/goog.isArrayLike array))"));
}
if(typeof idx === 'number'){
} else {
throw (new Error("Assert failed: (number? idx)"));
}
if(!((idx < (0)))){
} else {
throw (new Error("Assert failed: (not (neg? idx))"));
}
if((idx < array.length)){
} else {
throw (new Error("Assert failed: (< idx (alength array))"));
}
return (array[idx] = val);
});
cljs.core.checked_aset_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$variadic = (function (array,idx,idx2,idxv){
return cljs.core.apply.cljs$core$IFn$_invoke$arity$4(cljs.core.checked_aset_SINGLEQUOTE_,cljs.core.checked_aget_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$2(array,idx),idx2,idxv);
});
cljs.core.checked_aset_SINGLEQUOTE_.cljs$lang$applyTo = (function (seq11723){
var G__11724 = cljs.core.first(seq11723);
var seq11723__$1 = cljs.core.next(seq11723);
var G__11725 = cljs.core.first(seq11723__$1);
var seq11723__$2 = cljs.core.next(seq11723__$1);
var G__11726 = cljs.core.first(seq11723__$2);
var seq11723__$3 = cljs.core.next(seq11723__$2);
return cljs.core.checked_aset_SINGLEQUOTE_.cljs$core$IFn$_invoke$arity$variadic(G__11724,G__11725,G__11726,seq11723__$3);
});
cljs.core.checked_aset_SINGLEQUOTE_.cljs$lang$maxFixedArity = (3);
/**
* Returns the value at the index/indices. Works on JavaScript arrays.
*/
cljs.core.aget = (function cljs$core$aget(var_args){
var G__11736 = arguments.length;
switch (G__11736) {
case 2:
return cljs.core.aget.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___11738 = arguments.length;
var i__10062__auto___11739 = (0);
while(true){
if((i__10062__auto___11739 < len__10061__auto___11738)){
args_arr__10084__auto__.push((arguments[i__10062__auto___11739]));
var G__11740 = (i__10062__auto___11739 + (1));
i__10062__auto___11739 = G__11740;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((2)),(0),null));
return cljs.core.aget.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__10085__auto__);
}
});
cljs.core.aget.cljs$core$IFn$_invoke$arity$2 = (function (array,idx){
return (array[idx]);
});
cljs.core.aget.cljs$core$IFn$_invoke$arity$variadic = (function (array,idx,idxs){
return cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.aget,(array[idx]),idxs);
});
cljs.core.aget.cljs$lang$applyTo = (function (seq11733){
var G__11734 = cljs.core.first(seq11733);
var seq11733__$1 = cljs.core.next(seq11733);
var G__11735 = cljs.core.first(seq11733__$1);
var seq11733__$2 = cljs.core.next(seq11733__$1);
return cljs.core.aget.cljs$core$IFn$_invoke$arity$variadic(G__11734,G__11735,seq11733__$2);
});
cljs.core.aget.cljs$lang$maxFixedArity = (2);
/**
* Sets the value at the index/indices. Works on JavaScript arrays.
* Returns val.
*/
cljs.core.aset = (function cljs$core$aset(var_args){
var G__11746 = arguments.length;
switch (G__11746) {
case 3:
return cljs.core.aset.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___11748 = arguments.length;
var i__10062__auto___11749 = (0);
while(true){
if((i__10062__auto___11749 < len__10061__auto___11748)){
args_arr__10084__auto__.push((arguments[i__10062__auto___11749]));
var G__11750 = (i__10062__auto___11749 + (1));
i__10062__auto___11749 = G__11750;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((3)),(0),null));
return cljs.core.aset.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__10085__auto__);
}
});
cljs.core.aset.cljs$core$IFn$_invoke$arity$3 = (function (array,idx,val){
return (array[idx] = val);
});
cljs.core.aset.cljs$core$IFn$_invoke$arity$variadic = (function (array,idx,idx2,idxv){
return cljs.core.apply.cljs$core$IFn$_invoke$arity$4(cljs.core.aset,(array[idx]),idx2,idxv);
});
cljs.core.aset.cljs$lang$applyTo = (function (seq11742){
var G__11743 = cljs.core.first(seq11742);
var seq11742__$1 = cljs.core.next(seq11742);
var G__11744 = cljs.core.first(seq11742__$1);
var seq11742__$2 = cljs.core.next(seq11742__$1);
var G__11745 = cljs.core.first(seq11742__$2);
var seq11742__$3 = cljs.core.next(seq11742__$2);
return cljs.core.aset.cljs$core$IFn$_invoke$arity$variadic(G__11743,G__11744,G__11745,seq11742__$3);
});
cljs.core.aset.cljs$lang$maxFixedArity = (3);
/**
* Returns the length of the array. Works on arrays of all types.
*/
cljs.core.alength = (function cljs$core$alength(array){
return array.length;
});
/**
* Returns an array with components set to the values in aseq. Optional type
* argument accepted for compatibility with Clojure.
*/
cljs.core.into_array = (function cljs$core$into_array(var_args){
var G__11752 = arguments.length;
switch (G__11752) {
case 1:
return cljs.core.into_array.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.into_array.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.into_array.cljs$core$IFn$_invoke$arity$1 = (function (aseq){
return cljs.core.into_array.cljs$core$IFn$_invoke$arity$2(null,aseq);
});
cljs.core.into_array.cljs$core$IFn$_invoke$arity$2 = (function (type,aseq){
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (a,x){
a.push(x);
return a;
}),[],aseq);
});
cljs.core.into_array.cljs$lang$maxFixedArity = 2;
/**
* Invoke JavaScript object method via string. Needed when the
* string is not a valid unquoted property name.
*/
cljs.core.js_invoke = (function cljs$core$js_invoke(var_args){
var args__10068__auto__ = [];
var len__10061__auto___11757 = arguments.length;
var i__10062__auto___11758 = (0);
while(true){
if((i__10062__auto___11758 < len__10061__auto___11757)){
args__10068__auto__.push((arguments[i__10062__auto___11758]));
var G__11759 = (i__10062__auto___11758 + (1));
i__10062__auto___11758 = G__11759;
continue;
} else {
}
break;
}
var argseq__10069__auto__ = ((((2) < args__10068__auto__.length))?(new cljs.core.IndexedSeq(args__10068__auto__.slice((2)),(0),null)):null);
return cljs.core.js_invoke.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__10069__auto__);
});
cljs.core.js_invoke.cljs$core$IFn$_invoke$arity$variadic = (function (obj,s,args){
return (obj[s]).apply(obj,cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(args));
});
cljs.core.js_invoke.cljs$lang$maxFixedArity = (2);
cljs.core.js_invoke.cljs$lang$applyTo = (function (seq11754){
var G__11755 = cljs.core.first(seq11754);
var seq11754__$1 = cljs.core.next(seq11754);
var G__11756 = cljs.core.first(seq11754__$1);
var seq11754__$2 = cljs.core.next(seq11754__$1);
return cljs.core.js_invoke.cljs$core$IFn$_invoke$arity$variadic(G__11755,G__11756,seq11754__$2);
});
/**
* Marker protocol
* @interface
*/
cljs.core.Fn = function(){};
/**
* Protocol for adding the ability to invoke an object as a function.
* For example, a vector can also be used to look up a value:
* ([1 2 3 4] 1) => 2
* @interface
*/
cljs.core.IFn = function(){};
cljs.core._invoke = (function cljs$core$_invoke(var_args){
var G__11761 = arguments.length;
switch (G__11761) {
case 1:
return cljs.core._invoke.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core._invoke.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core._invoke.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
case 4:
return cljs.core._invoke.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));
break;
case 5:
return cljs.core._invoke.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));
break;
case 6:
return cljs.core._invoke.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));
break;
case 7:
return cljs.core._invoke.cljs$core$IFn$_invoke$arity$7((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]));
break;
case 8:
return cljs.core._invoke.cljs$core$IFn$_invoke$arity$8((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]));
break;
case 9:
return cljs.core._invoke.cljs$core$IFn$_invoke$arity$9((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]));
break;
case 10:
return cljs.core._invoke.cljs$core$IFn$_invoke$arity$10((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]));
break;
case 11:
return cljs.core._invoke.cljs$core$IFn$_invoke$arity$11((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]));
break;
case 12:
return cljs.core._invoke.cljs$core$IFn$_invoke$arity$12((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]));
break;
case 13:
return cljs.core._invoke.cljs$core$IFn$_invoke$arity$13((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]));
break;
case 14:
return cljs.core._invoke.cljs$core$IFn$_invoke$arity$14((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]));
break;
case 15:
return cljs.core._invoke.cljs$core$IFn$_invoke$arity$15((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]));
break;
case 16:
return cljs.core._invoke.cljs$core$IFn$_invoke$arity$16((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]));
break;
case 17:
return cljs.core._invoke.cljs$core$IFn$_invoke$arity$17((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]));
break;
case 18:
return cljs.core._invoke.cljs$core$IFn$_invoke$arity$18((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]));
break;
case 19:
return cljs.core._invoke.cljs$core$IFn$_invoke$arity$19((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]));
break;
case 20:
return cljs.core._invoke.cljs$core$IFn$_invoke$arity$20((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]));
break;
case 21:
return cljs.core._invoke.cljs$core$IFn$_invoke$arity$21((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]),(arguments[(20)]));
break;
case 22:
return cljs.core._invoke.cljs$core$IFn$_invoke$arity$22((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]),(arguments[(7)]),(arguments[(8)]),(arguments[(9)]),(arguments[(10)]),(arguments[(11)]),(arguments[(12)]),(arguments[(13)]),(arguments[(14)]),(arguments[(15)]),(arguments[(16)]),(arguments[(17)]),(arguments[(18)]),(arguments[(19)]),(arguments[(20)]),(arguments[(21)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core._invoke.cljs$core$IFn$_invoke$arity$1 = (function (this$){
if((!((this$ == null))) && (!((this$.cljs$core$IFn$_invoke$arity$1 == null)))){
return this$.cljs$core$IFn$_invoke$arity$1(this$);
} else {
var x__9515__auto__ = (((this$ == null))?null:this$);
var m__9516__auto__ = (cljs.core._invoke[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$1(this$) : m__9516__auto__.call(null,this$));
} else {
var m__9516__auto____$1 = (cljs.core._invoke["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1(this$) : m__9516__auto____$1.call(null,this$));
} else {
throw cljs.core.missing_protocol("IFn.-invoke",this$);
}
}
}
});
cljs.core._invoke.cljs$core$IFn$_invoke$arity$2 = (function (this$,a){
if((!((this$ == null))) && (!((this$.cljs$core$IFn$_invoke$arity$2 == null)))){
return this$.cljs$core$IFn$_invoke$arity$2(this$,a);
} else {
var x__9515__auto__ = (((this$ == null))?null:this$);
var m__9516__auto__ = (cljs.core._invoke[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$2 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$2(this$,a) : m__9516__auto__.call(null,this$,a));
} else {
var m__9516__auto____$1 = (cljs.core._invoke["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$2 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$2(this$,a) : m__9516__auto____$1.call(null,this$,a));
} else {
throw cljs.core.missing_protocol("IFn.-invoke",this$);
}
}
}
});
cljs.core._invoke.cljs$core$IFn$_invoke$arity$3 = (function (this$,a,b){
if((!((this$ == null))) && (!((this$.cljs$core$IFn$_invoke$arity$3 == null)))){
return this$.cljs$core$IFn$_invoke$arity$3(this$,a,b);
} else {
var x__9515__auto__ = (((this$ == null))?null:this$);
var m__9516__auto__ = (cljs.core._invoke[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$3 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$3(this$,a,b) : m__9516__auto__.call(null,this$,a,b));
} else {
var m__9516__auto____$1 = (cljs.core._invoke["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$3 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$3(this$,a,b) : m__9516__auto____$1.call(null,this$,a,b));
} else {
throw cljs.core.missing_protocol("IFn.-invoke",this$);
}
}
}
});
cljs.core._invoke.cljs$core$IFn$_invoke$arity$4 = (function (this$,a,b,c){
if((!((this$ == null))) && (!((this$.cljs$core$IFn$_invoke$arity$4 == null)))){
return this$.cljs$core$IFn$_invoke$arity$4(this$,a,b,c);
} else {
var x__9515__auto__ = (((this$ == null))?null:this$);
var m__9516__auto__ = (cljs.core._invoke[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$4 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$4(this$,a,b,c) : m__9516__auto__.call(null,this$,a,b,c));
} else {
var m__9516__auto____$1 = (cljs.core._invoke["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$4 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$4(this$,a,b,c) : m__9516__auto____$1.call(null,this$,a,b,c));
} else {
throw cljs.core.missing_protocol("IFn.-invoke",this$);
}
}
}
});
cljs.core._invoke.cljs$core$IFn$_invoke$arity$5 = (function (this$,a,b,c,d){
if((!((this$ == null))) && (!((this$.cljs$core$IFn$_invoke$arity$5 == null)))){
return this$.cljs$core$IFn$_invoke$arity$5(this$,a,b,c,d);
} else {
var x__9515__auto__ = (((this$ == null))?null:this$);
var m__9516__auto__ = (cljs.core._invoke[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$5 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$5(this$,a,b,c,d) : m__9516__auto__.call(null,this$,a,b,c,d));
} else {
var m__9516__auto____$1 = (cljs.core._invoke["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$5 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$5(this$,a,b,c,d) : m__9516__auto____$1.call(null,this$,a,b,c,d));
} else {
throw cljs.core.missing_protocol("IFn.-invoke",this$);
}
}
}
});
cljs.core._invoke.cljs$core$IFn$_invoke$arity$6 = (function (this$,a,b,c,d,e){
if((!((this$ == null))) && (!((this$.cljs$core$IFn$_invoke$arity$6 == null)))){
return this$.cljs$core$IFn$_invoke$arity$6(this$,a,b,c,d,e);
} else {
var x__9515__auto__ = (((this$ == null))?null:this$);
var m__9516__auto__ = (cljs.core._invoke[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$6 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$6(this$,a,b,c,d,e) : m__9516__auto__.call(null,this$,a,b,c,d,e));
} else {
var m__9516__auto____$1 = (cljs.core._invoke["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$6 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$6(this$,a,b,c,d,e) : m__9516__auto____$1.call(null,this$,a,b,c,d,e));
} else {
throw cljs.core.missing_protocol("IFn.-invoke",this$);
}
}
}
});
cljs.core._invoke.cljs$core$IFn$_invoke$arity$7 = (function (this$,a,b,c,d,e,f){
if((!((this$ == null))) && (!((this$.cljs$core$IFn$_invoke$arity$7 == null)))){
return this$.cljs$core$IFn$_invoke$arity$7(this$,a,b,c,d,e,f);
} else {
var x__9515__auto__ = (((this$ == null))?null:this$);
var m__9516__auto__ = (cljs.core._invoke[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$7 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$7(this$,a,b,c,d,e,f) : m__9516__auto__.call(null,this$,a,b,c,d,e,f));
} else {
var m__9516__auto____$1 = (cljs.core._invoke["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$7 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$7(this$,a,b,c,d,e,f) : m__9516__auto____$1.call(null,this$,a,b,c,d,e,f));
} else {
throw cljs.core.missing_protocol("IFn.-invoke",this$);
}
}
}
});
cljs.core._invoke.cljs$core$IFn$_invoke$arity$8 = (function (this$,a,b,c,d,e,f,g){
if((!((this$ == null))) && (!((this$.cljs$core$IFn$_invoke$arity$8 == null)))){
return this$.cljs$core$IFn$_invoke$arity$8(this$,a,b,c,d,e,f,g);
} else {
var x__9515__auto__ = (((this$ == null))?null:this$);
var m__9516__auto__ = (cljs.core._invoke[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$8 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$8(this$,a,b,c,d,e,f,g) : m__9516__auto__.call(null,this$,a,b,c,d,e,f,g));
} else {
var m__9516__auto____$1 = (cljs.core._invoke["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$8 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$8(this$,a,b,c,d,e,f,g) : m__9516__auto____$1.call(null,this$,a,b,c,d,e,f,g));
} else {
throw cljs.core.missing_protocol("IFn.-invoke",this$);
}
}
}
});
cljs.core._invoke.cljs$core$IFn$_invoke$arity$9 = (function (this$,a,b,c,d,e,f,g,h){
if((!((this$ == null))) && (!((this$.cljs$core$IFn$_invoke$arity$9 == null)))){
return this$.cljs$core$IFn$_invoke$arity$9(this$,a,b,c,d,e,f,g,h);
} else {
var x__9515__auto__ = (((this$ == null))?null:this$);
var m__9516__auto__ = (cljs.core._invoke[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$9 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$9(this$,a,b,c,d,e,f,g,h) : m__9516__auto__.call(null,this$,a,b,c,d,e,f,g,h));
} else {
var m__9516__auto____$1 = (cljs.core._invoke["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$9 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$9(this$,a,b,c,d,e,f,g,h) : m__9516__auto____$1.call(null,this$,a,b,c,d,e,f,g,h));
} else {
throw cljs.core.missing_protocol("IFn.-invoke",this$);
}
}
}
});
cljs.core._invoke.cljs$core$IFn$_invoke$arity$10 = (function (this$,a,b,c,d,e,f,g,h,i){
if((!((this$ == null))) && (!((this$.cljs$core$IFn$_invoke$arity$10 == null)))){
return this$.cljs$core$IFn$_invoke$arity$10(this$,a,b,c,d,e,f,g,h,i);
} else {
var x__9515__auto__ = (((this$ == null))?null:this$);
var m__9516__auto__ = (cljs.core._invoke[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$10 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$10(this$,a,b,c,d,e,f,g,h,i) : m__9516__auto__.call(null,this$,a,b,c,d,e,f,g,h,i));
} else {
var m__9516__auto____$1 = (cljs.core._invoke["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$10 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$10(this$,a,b,c,d,e,f,g,h,i) : m__9516__auto____$1.call(null,this$,a,b,c,d,e,f,g,h,i));
} else {
throw cljs.core.missing_protocol("IFn.-invoke",this$);
}
}
}
});
cljs.core._invoke.cljs$core$IFn$_invoke$arity$11 = (function (this$,a,b,c,d,e,f,g,h,i,j){
if((!((this$ == null))) && (!((this$.cljs$core$IFn$_invoke$arity$11 == null)))){
return this$.cljs$core$IFn$_invoke$arity$11(this$,a,b,c,d,e,f,g,h,i,j);
} else {
var x__9515__auto__ = (((this$ == null))?null:this$);
var m__9516__auto__ = (cljs.core._invoke[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$11 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$11(this$,a,b,c,d,e,f,g,h,i,j) : m__9516__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j));
} else {
var m__9516__auto____$1 = (cljs.core._invoke["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$11 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$11(this$,a,b,c,d,e,f,g,h,i,j) : m__9516__auto____$1.call(null,this$,a,b,c,d,e,f,g,h,i,j));
} else {
throw cljs.core.missing_protocol("IFn.-invoke",this$);
}
}
}
});
cljs.core._invoke.cljs$core$IFn$_invoke$arity$12 = (function (this$,a,b,c,d,e,f,g,h,i,j,k){
if((!((this$ == null))) && (!((this$.cljs$core$IFn$_invoke$arity$12 == null)))){
return this$.cljs$core$IFn$_invoke$arity$12(this$,a,b,c,d,e,f,g,h,i,j,k);
} else {
var x__9515__auto__ = (((this$ == null))?null:this$);
var m__9516__auto__ = (cljs.core._invoke[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$12 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$12(this$,a,b,c,d,e,f,g,h,i,j,k) : m__9516__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k));
} else {
var m__9516__auto____$1 = (cljs.core._invoke["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$12 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$12(this$,a,b,c,d,e,f,g,h,i,j,k) : m__9516__auto____$1.call(null,this$,a,b,c,d,e,f,g,h,i,j,k));
} else {
throw cljs.core.missing_protocol("IFn.-invoke",this$);
}
}
}
});
cljs.core._invoke.cljs$core$IFn$_invoke$arity$13 = (function (this$,a,b,c,d,e,f,g,h,i,j,k,l){
if((!((this$ == null))) && (!((this$.cljs$core$IFn$_invoke$arity$13 == null)))){
return this$.cljs$core$IFn$_invoke$arity$13(this$,a,b,c,d,e,f,g,h,i,j,k,l);
} else {
var x__9515__auto__ = (((this$ == null))?null:this$);
var m__9516__auto__ = (cljs.core._invoke[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$13 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$13(this$,a,b,c,d,e,f,g,h,i,j,k,l) : m__9516__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l));
} else {
var m__9516__auto____$1 = (cljs.core._invoke["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$13 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$13(this$,a,b,c,d,e,f,g,h,i,j,k,l) : m__9516__auto____$1.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l));
} else {
throw cljs.core.missing_protocol("IFn.-invoke",this$);
}
}
}
});
cljs.core._invoke.cljs$core$IFn$_invoke$arity$14 = (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m){
if((!((this$ == null))) && (!((this$.cljs$core$IFn$_invoke$arity$14 == null)))){
return this$.cljs$core$IFn$_invoke$arity$14(this$,a,b,c,d,e,f,g,h,i,j,k,l,m);
} else {
var x__9515__auto__ = (((this$ == null))?null:this$);
var m__9516__auto__ = (cljs.core._invoke[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$14 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$14(this$,a,b,c,d,e,f,g,h,i,j,k,l,m) : m__9516__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m));
} else {
var m__9516__auto____$1 = (cljs.core._invoke["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$14 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$14(this$,a,b,c,d,e,f,g,h,i,j,k,l,m) : m__9516__auto____$1.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m));
} else {
throw cljs.core.missing_protocol("IFn.-invoke",this$);
}
}
}
});
cljs.core._invoke.cljs$core$IFn$_invoke$arity$15 = (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n){
if((!((this$ == null))) && (!((this$.cljs$core$IFn$_invoke$arity$15 == null)))){
return this$.cljs$core$IFn$_invoke$arity$15(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n);
} else {
var x__9515__auto__ = (((this$ == null))?null:this$);
var m__9516__auto__ = (cljs.core._invoke[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$15 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$15(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n) : m__9516__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n));
} else {
var m__9516__auto____$1 = (cljs.core._invoke["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$15 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$15(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n) : m__9516__auto____$1.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n));
} else {
throw cljs.core.missing_protocol("IFn.-invoke",this$);
}
}
}
});
cljs.core._invoke.cljs$core$IFn$_invoke$arity$16 = (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){
if((!((this$ == null))) && (!((this$.cljs$core$IFn$_invoke$arity$16 == null)))){
return this$.cljs$core$IFn$_invoke$arity$16(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o);
} else {
var x__9515__auto__ = (((this$ == null))?null:this$);
var m__9516__auto__ = (cljs.core._invoke[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$16 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$16(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) : m__9516__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o));
} else {
var m__9516__auto____$1 = (cljs.core._invoke["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$16 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$16(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) : m__9516__auto____$1.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o));
} else {
throw cljs.core.missing_protocol("IFn.-invoke",this$);
}
}
}
});
cljs.core._invoke.cljs$core$IFn$_invoke$arity$17 = (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){
if((!((this$ == null))) && (!((this$.cljs$core$IFn$_invoke$arity$17 == null)))){
return this$.cljs$core$IFn$_invoke$arity$17(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p);
} else {
var x__9515__auto__ = (((this$ == null))?null:this$);
var m__9516__auto__ = (cljs.core._invoke[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$17 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$17(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) : m__9516__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p));
} else {
var m__9516__auto____$1 = (cljs.core._invoke["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$17 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$17(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) : m__9516__auto____$1.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p));
} else {
throw cljs.core.missing_protocol("IFn.-invoke",this$);
}
}
}
});
cljs.core._invoke.cljs$core$IFn$_invoke$arity$18 = (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){
if((!((this$ == null))) && (!((this$.cljs$core$IFn$_invoke$arity$18 == null)))){
return this$.cljs$core$IFn$_invoke$arity$18(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q);
} else {
var x__9515__auto__ = (((this$ == null))?null:this$);
var m__9516__auto__ = (cljs.core._invoke[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$18 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$18(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) : m__9516__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q));
} else {
var m__9516__auto____$1 = (cljs.core._invoke["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$18 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$18(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) : m__9516__auto____$1.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q));
} else {
throw cljs.core.missing_protocol("IFn.-invoke",this$);
}
}
}
});
cljs.core._invoke.cljs$core$IFn$_invoke$arity$19 = (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){
if((!((this$ == null))) && (!((this$.cljs$core$IFn$_invoke$arity$19 == null)))){
return this$.cljs$core$IFn$_invoke$arity$19(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r);
} else {
var x__9515__auto__ = (((this$ == null))?null:this$);
var m__9516__auto__ = (cljs.core._invoke[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$19 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$19(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) : m__9516__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r));
} else {
var m__9516__auto____$1 = (cljs.core._invoke["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$19 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$19(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) : m__9516__auto____$1.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r));
} else {
throw cljs.core.missing_protocol("IFn.-invoke",this$);
}
}
}
});
cljs.core._invoke.cljs$core$IFn$_invoke$arity$20 = (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){
if((!((this$ == null))) && (!((this$.cljs$core$IFn$_invoke$arity$20 == null)))){
return this$.cljs$core$IFn$_invoke$arity$20(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s);
} else {
var x__9515__auto__ = (((this$ == null))?null:this$);
var m__9516__auto__ = (cljs.core._invoke[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$20 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$20(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) : m__9516__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s));
} else {
var m__9516__auto____$1 = (cljs.core._invoke["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$20 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$20(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) : m__9516__auto____$1.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s));
} else {
throw cljs.core.missing_protocol("IFn.-invoke",this$);
}
}
}
});
cljs.core._invoke.cljs$core$IFn$_invoke$arity$21 = (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){
if((!((this$ == null))) && (!((this$.cljs$core$IFn$_invoke$arity$21 == null)))){
return this$.cljs$core$IFn$_invoke$arity$21(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t);
} else {
var x__9515__auto__ = (((this$ == null))?null:this$);
var m__9516__auto__ = (cljs.core._invoke[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$21 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$21(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) : m__9516__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t));
} else {
var m__9516__auto____$1 = (cljs.core._invoke["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$21 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$21(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) : m__9516__auto____$1.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t));
} else {
throw cljs.core.missing_protocol("IFn.-invoke",this$);
}
}
}
});
cljs.core._invoke.cljs$core$IFn$_invoke$arity$22 = (function (this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest){
if((!((this$ == null))) && (!((this$.cljs$core$IFn$_invoke$arity$22 == null)))){
return this$.cljs$core$IFn$_invoke$arity$22(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest);
} else {
var x__9515__auto__ = (((this$ == null))?null:this$);
var m__9516__auto__ = (cljs.core._invoke[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$22 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$22(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest) : m__9516__auto__.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest));
} else {
var m__9516__auto____$1 = (cljs.core._invoke["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$22 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$22(this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest) : m__9516__auto____$1.call(null,this$,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest));
} else {
throw cljs.core.missing_protocol("IFn.-invoke",this$);
}
}
}
});
cljs.core._invoke.cljs$lang$maxFixedArity = 22;
/**
* Protocol for cloning a value.
* @interface
*/
cljs.core.ICloneable = function(){};
/**
* Creates a clone of value.
*/
cljs.core._clone = (function cljs$core$_clone(value){
if((!((value == null))) && (!((value.cljs$core$ICloneable$_clone$arity$1 == null)))){
return value.cljs$core$ICloneable$_clone$arity$1(value);
} else {
var x__9515__auto__ = (((value == null))?null:value);
var m__9516__auto__ = (cljs.core._clone[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$1(value) : m__9516__auto__.call(null,value));
} else {
var m__9516__auto____$1 = (cljs.core._clone["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1(value) : m__9516__auto____$1.call(null,value));
} else {
throw cljs.core.missing_protocol("ICloneable.-clone",value);
}
}
}
});
/**
* Protocol for adding the ability to count a collection in constant time.
* @interface
*/
cljs.core.ICounted = function(){};
/**
* Calculates the count of coll in constant time. Used by cljs.core/count.
*/
cljs.core._count = (function cljs$core$_count(coll){
if((!((coll == null))) && (!((coll.cljs$core$ICounted$_count$arity$1 == null)))){
return coll.cljs$core$ICounted$_count$arity$1(coll);
} else {
var x__9515__auto__ = (((coll == null))?null:coll);
var m__9516__auto__ = (cljs.core._count[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__9516__auto__.call(null,coll));
} else {
var m__9516__auto____$1 = (cljs.core._count["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1(coll) : m__9516__auto____$1.call(null,coll));
} else {
throw cljs.core.missing_protocol("ICounted.-count",coll);
}
}
}
});
/**
* Protocol for creating an empty collection.
* @interface
*/
cljs.core.IEmptyableCollection = function(){};
/**
* Returns an empty collection of the same category as coll. Used
* by cljs.core/empty.
*/
cljs.core._empty = (function cljs$core$_empty(coll){
if((!((coll == null))) && (!((coll.cljs$core$IEmptyableCollection$_empty$arity$1 == null)))){
return coll.cljs$core$IEmptyableCollection$_empty$arity$1(coll);
} else {
var x__9515__auto__ = (((coll == null))?null:coll);
var m__9516__auto__ = (cljs.core._empty[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__9516__auto__.call(null,coll));
} else {
var m__9516__auto____$1 = (cljs.core._empty["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1(coll) : m__9516__auto____$1.call(null,coll));
} else {
throw cljs.core.missing_protocol("IEmptyableCollection.-empty",coll);
}
}
}
});
/**
* Protocol for adding to a collection.
* @interface
*/
cljs.core.ICollection = function(){};
/**
* Returns a new collection of coll with o added to it. The new item
* should be added to the most efficient place, e.g.
* (conj [1 2 3 4] 5) => [1 2 3 4 5]
* (conj '(2 3 4 5) 1) => '(1 2 3 4 5)
*/
cljs.core._conj = (function cljs$core$_conj(coll,o){
if((!((coll == null))) && (!((coll.cljs$core$ICollection$_conj$arity$2 == null)))){
return coll.cljs$core$ICollection$_conj$arity$2(coll,o);
} else {
var x__9515__auto__ = (((coll == null))?null:coll);
var m__9516__auto__ = (cljs.core._conj[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$2 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$2(coll,o) : m__9516__auto__.call(null,coll,o));
} else {
var m__9516__auto____$1 = (cljs.core._conj["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$2 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$2(coll,o) : m__9516__auto____$1.call(null,coll,o));
} else {
throw cljs.core.missing_protocol("ICollection.-conj",coll);
}
}
}
});
/**
* Protocol for collections to provide indexed-based access to their items.
* @interface
*/
cljs.core.IIndexed = function(){};
/**
* Returns the value at the index n in the collection coll.
* Returns not-found if index n is out of bounds and not-found is supplied.
*/
cljs.core._nth = (function cljs$core$_nth(var_args){
var G__11764 = arguments.length;
switch (G__11764) {
case 2:
return cljs.core._nth.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core._nth.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core._nth.cljs$core$IFn$_invoke$arity$2 = (function (coll,n){
if((!((coll == null))) && (!((coll.cljs$core$IIndexed$_nth$arity$2 == null)))){
return coll.cljs$core$IIndexed$_nth$arity$2(coll,n);
} else {
var x__9515__auto__ = (((coll == null))?null:coll);
var m__9516__auto__ = (cljs.core._nth[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$2 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$2(coll,n) : m__9516__auto__.call(null,coll,n));
} else {
var m__9516__auto____$1 = (cljs.core._nth["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$2 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$2(coll,n) : m__9516__auto____$1.call(null,coll,n));
} else {
throw cljs.core.missing_protocol("IIndexed.-nth",coll);
}
}
}
});
cljs.core._nth.cljs$core$IFn$_invoke$arity$3 = (function (coll,n,not_found){
if((!((coll == null))) && (!((coll.cljs$core$IIndexed$_nth$arity$3 == null)))){
return coll.cljs$core$IIndexed$_nth$arity$3(coll,n,not_found);
} else {
var x__9515__auto__ = (((coll == null))?null:coll);
var m__9516__auto__ = (cljs.core._nth[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$3 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$3(coll,n,not_found) : m__9516__auto__.call(null,coll,n,not_found));
} else {
var m__9516__auto____$1 = (cljs.core._nth["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$3 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$3(coll,n,not_found) : m__9516__auto____$1.call(null,coll,n,not_found));
} else {
throw cljs.core.missing_protocol("IIndexed.-nth",coll);
}
}
}
});
cljs.core._nth.cljs$lang$maxFixedArity = 3;
/**
* Marker protocol indicating an array sequence.
* @interface
*/
cljs.core.ASeq = function(){};
/**
* Protocol for collections to provide access to their items as sequences.
* @interface
*/
cljs.core.ISeq = function(){};
/**
* Returns the first item in the collection coll. Used by cljs.core/first.
*/
cljs.core._first = (function cljs$core$_first(coll){
if((!((coll == null))) && (!((coll.cljs$core$ISeq$_first$arity$1 == null)))){
return coll.cljs$core$ISeq$_first$arity$1(coll);
} else {
var x__9515__auto__ = (((coll == null))?null:coll);
var m__9516__auto__ = (cljs.core._first[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__9516__auto__.call(null,coll));
} else {
var m__9516__auto____$1 = (cljs.core._first["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1(coll) : m__9516__auto____$1.call(null,coll));
} else {
throw cljs.core.missing_protocol("ISeq.-first",coll);
}
}
}
});
/**
* Returns a new collection of coll without the first item. It should
* always return a seq, e.g.
* (rest []) => ()
* (rest nil) => ()
*/
cljs.core._rest = (function cljs$core$_rest(coll){
if((!((coll == null))) && (!((coll.cljs$core$ISeq$_rest$arity$1 == null)))){
return coll.cljs$core$ISeq$_rest$arity$1(coll);
} else {
var x__9515__auto__ = (((coll == null))?null:coll);
var m__9516__auto__ = (cljs.core._rest[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__9516__auto__.call(null,coll));
} else {
var m__9516__auto____$1 = (cljs.core._rest["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1(coll) : m__9516__auto____$1.call(null,coll));
} else {
throw cljs.core.missing_protocol("ISeq.-rest",coll);
}
}
}
});
/**
* Protocol for accessing the next items of a collection.
* @interface
*/
cljs.core.INext = function(){};
/**
* Returns a new collection of coll without the first item. In contrast to
* rest, it should return nil if there are no more items, e.g.
* (next []) => nil
* (next nil) => nil
*/
cljs.core._next = (function cljs$core$_next(coll){
if((!((coll == null))) && (!((coll.cljs$core$INext$_next$arity$1 == null)))){
return coll.cljs$core$INext$_next$arity$1(coll);
} else {
var x__9515__auto__ = (((coll == null))?null:coll);
var m__9516__auto__ = (cljs.core._next[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__9516__auto__.call(null,coll));
} else {
var m__9516__auto____$1 = (cljs.core._next["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1(coll) : m__9516__auto____$1.call(null,coll));
} else {
throw cljs.core.missing_protocol("INext.-next",coll);
}
}
}
});
/**
* Protocol for looking up a value in a data structure.
* @interface
*/
cljs.core.ILookup = function(){};
/**
* Use k to look up a value in o. If not-found is supplied and k is not
* a valid value that can be used for look up, not-found is returned.
*/
cljs.core._lookup = (function cljs$core$_lookup(var_args){
var G__11767 = arguments.length;
switch (G__11767) {
case 2:
return cljs.core._lookup.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core._lookup.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core._lookup.cljs$core$IFn$_invoke$arity$2 = (function (o,k){
if((!((o == null))) && (!((o.cljs$core$ILookup$_lookup$arity$2 == null)))){
return o.cljs$core$ILookup$_lookup$arity$2(o,k);
} else {
var x__9515__auto__ = (((o == null))?null:o);
var m__9516__auto__ = (cljs.core._lookup[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$2 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$2(o,k) : m__9516__auto__.call(null,o,k));
} else {
var m__9516__auto____$1 = (cljs.core._lookup["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$2 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$2(o,k) : m__9516__auto____$1.call(null,o,k));
} else {
throw cljs.core.missing_protocol("ILookup.-lookup",o);
}
}
}
});
cljs.core._lookup.cljs$core$IFn$_invoke$arity$3 = (function (o,k,not_found){
if((!((o == null))) && (!((o.cljs$core$ILookup$_lookup$arity$3 == null)))){
return o.cljs$core$ILookup$_lookup$arity$3(o,k,not_found);
} else {
var x__9515__auto__ = (((o == null))?null:o);
var m__9516__auto__ = (cljs.core._lookup[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$3 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$3(o,k,not_found) : m__9516__auto__.call(null,o,k,not_found));
} else {
var m__9516__auto____$1 = (cljs.core._lookup["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$3 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$3(o,k,not_found) : m__9516__auto____$1.call(null,o,k,not_found));
} else {
throw cljs.core.missing_protocol("ILookup.-lookup",o);
}
}
}
});
cljs.core._lookup.cljs$lang$maxFixedArity = 3;
/**
* Protocol for adding associativity to collections.
* @interface
*/
cljs.core.IAssociative = function(){};
/**
* Returns true if k is a key in coll.
*/
cljs.core._contains_key_QMARK_ = (function cljs$core$_contains_key_QMARK_(coll,k){
if((!((coll == null))) && (!((coll.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 == null)))){
return coll.cljs$core$IAssociative$_contains_key_QMARK_$arity$2(coll,k);
} else {
var x__9515__auto__ = (((coll == null))?null:coll);
var m__9516__auto__ = (cljs.core._contains_key_QMARK_[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$2 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$2(coll,k) : m__9516__auto__.call(null,coll,k));
} else {
var m__9516__auto____$1 = (cljs.core._contains_key_QMARK_["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$2 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$2(coll,k) : m__9516__auto____$1.call(null,coll,k));
} else {
throw cljs.core.missing_protocol("IAssociative.-contains-key?",coll);
}
}
}
});
/**
* Returns a new collection of coll with a mapping from key k to
* value v added to it.
*/
cljs.core._assoc = (function cljs$core$_assoc(coll,k,v){
if((!((coll == null))) && (!((coll.cljs$core$IAssociative$_assoc$arity$3 == null)))){
return coll.cljs$core$IAssociative$_assoc$arity$3(coll,k,v);
} else {
var x__9515__auto__ = (((coll == null))?null:coll);
var m__9516__auto__ = (cljs.core._assoc[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$3 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$3(coll,k,v) : m__9516__auto__.call(null,coll,k,v));
} else {
var m__9516__auto____$1 = (cljs.core._assoc["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$3 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$3(coll,k,v) : m__9516__auto____$1.call(null,coll,k,v));
} else {
throw cljs.core.missing_protocol("IAssociative.-assoc",coll);
}
}
}
});
/**
* Protocol for implementing entry finding in collections.
* @interface
*/
cljs.core.IFind = function(){};
/**
* Returns the map entry for key, or nil if key not present.
*/
cljs.core._find = (function cljs$core$_find(coll,k){
if((!((coll == null))) && (!((coll.cljs$core$IFind$_find$arity$2 == null)))){
return coll.cljs$core$IFind$_find$arity$2(coll,k);
} else {
var x__9515__auto__ = (((coll == null))?null:coll);
var m__9516__auto__ = (cljs.core._find[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$2 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$2(coll,k) : m__9516__auto__.call(null,coll,k));
} else {
var m__9516__auto____$1 = (cljs.core._find["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$2 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$2(coll,k) : m__9516__auto____$1.call(null,coll,k));
} else {
throw cljs.core.missing_protocol("IFind.-find",coll);
}
}
}
});
/**
* Protocol for adding mapping functionality to collections.
* @interface
*/
cljs.core.IMap = function(){};
/**
* Returns a new collection of coll without the mapping for key k.
*/
cljs.core._dissoc = (function cljs$core$_dissoc(coll,k){
if((!((coll == null))) && (!((coll.cljs$core$IMap$_dissoc$arity$2 == null)))){
return coll.cljs$core$IMap$_dissoc$arity$2(coll,k);
} else {
var x__9515__auto__ = (((coll == null))?null:coll);
var m__9516__auto__ = (cljs.core._dissoc[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$2 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$2(coll,k) : m__9516__auto__.call(null,coll,k));
} else {
var m__9516__auto____$1 = (cljs.core._dissoc["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$2 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$2(coll,k) : m__9516__auto____$1.call(null,coll,k));
} else {
throw cljs.core.missing_protocol("IMap.-dissoc",coll);
}
}
}
});
/**
* Protocol for examining a map entry.
* @interface
*/
cljs.core.IMapEntry = function(){};
/**
* Returns the key of the map entry.
*/
cljs.core._key = (function cljs$core$_key(coll){
if((!((coll == null))) && (!((coll.cljs$core$IMapEntry$_key$arity$1 == null)))){
return coll.cljs$core$IMapEntry$_key$arity$1(coll);
} else {
var x__9515__auto__ = (((coll == null))?null:coll);
var m__9516__auto__ = (cljs.core._key[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__9516__auto__.call(null,coll));
} else {
var m__9516__auto____$1 = (cljs.core._key["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1(coll) : m__9516__auto____$1.call(null,coll));
} else {
throw cljs.core.missing_protocol("IMapEntry.-key",coll);
}
}
}
});
/**
* Returns the value of the map entry.
*/
cljs.core._val = (function cljs$core$_val(coll){
if((!((coll == null))) && (!((coll.cljs$core$IMapEntry$_val$arity$1 == null)))){
return coll.cljs$core$IMapEntry$_val$arity$1(coll);
} else {
var x__9515__auto__ = (((coll == null))?null:coll);
var m__9516__auto__ = (cljs.core._val[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__9516__auto__.call(null,coll));
} else {
var m__9516__auto____$1 = (cljs.core._val["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1(coll) : m__9516__auto____$1.call(null,coll));
} else {
throw cljs.core.missing_protocol("IMapEntry.-val",coll);
}
}
}
});
/**
* Protocol for adding set functionality to a collection.
* @interface
*/
cljs.core.ISet = function(){};
/**
* Returns a new collection of coll that does not contain v.
*/
cljs.core._disjoin = (function cljs$core$_disjoin(coll,v){
if((!((coll == null))) && (!((coll.cljs$core$ISet$_disjoin$arity$2 == null)))){
return coll.cljs$core$ISet$_disjoin$arity$2(coll,v);
} else {
var x__9515__auto__ = (((coll == null))?null:coll);
var m__9516__auto__ = (cljs.core._disjoin[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$2 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$2(coll,v) : m__9516__auto__.call(null,coll,v));
} else {
var m__9516__auto____$1 = (cljs.core._disjoin["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$2 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$2(coll,v) : m__9516__auto____$1.call(null,coll,v));
} else {
throw cljs.core.missing_protocol("ISet.-disjoin",coll);
}
}
}
});
/**
* Protocol for collections to provide access to their items as stacks. The top
* of the stack should be accessed in the most efficient way for the different
* data structures.
* @interface
*/
cljs.core.IStack = function(){};
/**
* Returns the item from the top of the stack. Is used by cljs.core/peek.
*/
cljs.core._peek = (function cljs$core$_peek(coll){
if((!((coll == null))) && (!((coll.cljs$core$IStack$_peek$arity$1 == null)))){
return coll.cljs$core$IStack$_peek$arity$1(coll);
} else {
var x__9515__auto__ = (((coll == null))?null:coll);
var m__9516__auto__ = (cljs.core._peek[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__9516__auto__.call(null,coll));
} else {
var m__9516__auto____$1 = (cljs.core._peek["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1(coll) : m__9516__auto____$1.call(null,coll));
} else {
throw cljs.core.missing_protocol("IStack.-peek",coll);
}
}
}
});
/**
* Returns a new stack without the item on top of the stack. Is used
* by cljs.core/pop.
*/
cljs.core._pop = (function cljs$core$_pop(coll){
if((!((coll == null))) && (!((coll.cljs$core$IStack$_pop$arity$1 == null)))){
return coll.cljs$core$IStack$_pop$arity$1(coll);
} else {
var x__9515__auto__ = (((coll == null))?null:coll);
var m__9516__auto__ = (cljs.core._pop[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__9516__auto__.call(null,coll));
} else {
var m__9516__auto____$1 = (cljs.core._pop["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1(coll) : m__9516__auto____$1.call(null,coll));
} else {
throw cljs.core.missing_protocol("IStack.-pop",coll);
}
}
}
});
/**
* Protocol for adding vector functionality to collections.
* @interface
*/
cljs.core.IVector = function(){};
/**
* Returns a new vector with value val added at position n.
*/
cljs.core._assoc_n = (function cljs$core$_assoc_n(coll,n,val){
if((!((coll == null))) && (!((coll.cljs$core$IVector$_assoc_n$arity$3 == null)))){
return coll.cljs$core$IVector$_assoc_n$arity$3(coll,n,val);
} else {
var x__9515__auto__ = (((coll == null))?null:coll);
var m__9516__auto__ = (cljs.core._assoc_n[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$3 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$3(coll,n,val) : m__9516__auto__.call(null,coll,n,val));
} else {
var m__9516__auto____$1 = (cljs.core._assoc_n["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$3 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$3(coll,n,val) : m__9516__auto____$1.call(null,coll,n,val));
} else {
throw cljs.core.missing_protocol("IVector.-assoc-n",coll);
}
}
}
});
/**
* Protocol for adding dereference functionality to a reference.
* @interface
*/
cljs.core.IDeref = function(){};
/**
* Returns the value of the reference o.
*/
cljs.core._deref = (function cljs$core$_deref(o){
if((!((o == null))) && (!((o.cljs$core$IDeref$_deref$arity$1 == null)))){
return o.cljs$core$IDeref$_deref$arity$1(o);
} else {
var x__9515__auto__ = (((o == null))?null:o);
var m__9516__auto__ = (cljs.core._deref[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__9516__auto__.call(null,o));
} else {
var m__9516__auto____$1 = (cljs.core._deref["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1(o) : m__9516__auto____$1.call(null,o));
} else {
throw cljs.core.missing_protocol("IDeref.-deref",o);
}
}
}
});
/**
* @interface
*/
cljs.core.IDerefWithTimeout = function(){};
cljs.core._deref_with_timeout = (function cljs$core$_deref_with_timeout(o,msec,timeout_val){
if((!((o == null))) && (!((o.cljs$core$IDerefWithTimeout$_deref_with_timeout$arity$3 == null)))){
return o.cljs$core$IDerefWithTimeout$_deref_with_timeout$arity$3(o,msec,timeout_val);
} else {
var x__9515__auto__ = (((o == null))?null:o);
var m__9516__auto__ = (cljs.core._deref_with_timeout[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$3 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$3(o,msec,timeout_val) : m__9516__auto__.call(null,o,msec,timeout_val));
} else {
var m__9516__auto____$1 = (cljs.core._deref_with_timeout["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$3 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$3(o,msec,timeout_val) : m__9516__auto____$1.call(null,o,msec,timeout_val));
} else {
throw cljs.core.missing_protocol("IDerefWithTimeout.-deref-with-timeout",o);
}
}
}
});
/**
* Protocol for accessing the metadata of an object.
* @interface
*/
cljs.core.IMeta = function(){};
/**
* Returns the metadata of object o.
*/
cljs.core._meta = (function cljs$core$_meta(o){
if((!((o == null))) && (!((o.cljs$core$IMeta$_meta$arity$1 == null)))){
return o.cljs$core$IMeta$_meta$arity$1(o);
} else {
var x__9515__auto__ = (((o == null))?null:o);
var m__9516__auto__ = (cljs.core._meta[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__9516__auto__.call(null,o));
} else {
var m__9516__auto____$1 = (cljs.core._meta["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1(o) : m__9516__auto____$1.call(null,o));
} else {
throw cljs.core.missing_protocol("IMeta.-meta",o);
}
}
}
});
/**
* Protocol for adding metadata to an object.
* @interface
*/
cljs.core.IWithMeta = function(){};
/**
* Returns a new object with value of o and metadata meta added to it.
*/
cljs.core._with_meta = (function cljs$core$_with_meta(o,meta){
if((!((o == null))) && (!((o.cljs$core$IWithMeta$_with_meta$arity$2 == null)))){
return o.cljs$core$IWithMeta$_with_meta$arity$2(o,meta);
} else {
var x__9515__auto__ = (((o == null))?null:o);
var m__9516__auto__ = (cljs.core._with_meta[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$2 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$2(o,meta) : m__9516__auto__.call(null,o,meta));
} else {
var m__9516__auto____$1 = (cljs.core._with_meta["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$2 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$2(o,meta) : m__9516__auto____$1.call(null,o,meta));
} else {
throw cljs.core.missing_protocol("IWithMeta.-with-meta",o);
}
}
}
});
/**
* Protocol for seq types that can reduce themselves.
* Called by cljs.core/reduce.
* @interface
*/
cljs.core.IReduce = function(){};
/**
* f should be a function of 2 arguments. If start is not supplied,
* returns the result of applying f to the first 2 items in coll, then
* applying f to that result and the 3rd item, etc.
*/
cljs.core._reduce = (function cljs$core$_reduce(var_args){
var G__11770 = arguments.length;
switch (G__11770) {
case 2:
return cljs.core._reduce.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core._reduce.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core._reduce.cljs$core$IFn$_invoke$arity$2 = (function (coll,f){
if((!((coll == null))) && (!((coll.cljs$core$IReduce$_reduce$arity$2 == null)))){
return coll.cljs$core$IReduce$_reduce$arity$2(coll,f);
} else {
var x__9515__auto__ = (((coll == null))?null:coll);
var m__9516__auto__ = (cljs.core._reduce[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$2 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$2(coll,f) : m__9516__auto__.call(null,coll,f));
} else {
var m__9516__auto____$1 = (cljs.core._reduce["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$2 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$2(coll,f) : m__9516__auto____$1.call(null,coll,f));
} else {
throw cljs.core.missing_protocol("IReduce.-reduce",coll);
}
}
}
});
cljs.core._reduce.cljs$core$IFn$_invoke$arity$3 = (function (coll,f,start){
if((!((coll == null))) && (!((coll.cljs$core$IReduce$_reduce$arity$3 == null)))){
return coll.cljs$core$IReduce$_reduce$arity$3(coll,f,start);
} else {
var x__9515__auto__ = (((coll == null))?null:coll);
var m__9516__auto__ = (cljs.core._reduce[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$3 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$3(coll,f,start) : m__9516__auto__.call(null,coll,f,start));
} else {
var m__9516__auto____$1 = (cljs.core._reduce["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$3 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$3(coll,f,start) : m__9516__auto____$1.call(null,coll,f,start));
} else {
throw cljs.core.missing_protocol("IReduce.-reduce",coll);
}
}
}
});
cljs.core._reduce.cljs$lang$maxFixedArity = 3;
/**
* Protocol for associative types that can reduce themselves
* via a function of key and val. Called by cljs.core/reduce-kv.
* @interface
*/
cljs.core.IKVReduce = function(){};
/**
* Reduces an associative collection and returns the result. f should be
* a function that takes three arguments.
*/
cljs.core._kv_reduce = (function cljs$core$_kv_reduce(coll,f,init){
if((!((coll == null))) && (!((coll.cljs$core$IKVReduce$_kv_reduce$arity$3 == null)))){
return coll.cljs$core$IKVReduce$_kv_reduce$arity$3(coll,f,init);
} else {
var x__9515__auto__ = (((coll == null))?null:coll);
var m__9516__auto__ = (cljs.core._kv_reduce[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$3 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$3(coll,f,init) : m__9516__auto__.call(null,coll,f,init));
} else {
var m__9516__auto____$1 = (cljs.core._kv_reduce["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$3 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$3(coll,f,init) : m__9516__auto____$1.call(null,coll,f,init));
} else {
throw cljs.core.missing_protocol("IKVReduce.-kv-reduce",coll);
}
}
}
});
/**
* Protocol for adding value comparison functionality to a type.
* @interface
*/
cljs.core.IEquiv = function(){};
/**
* Returns true if o and other are equal, false otherwise.
*/
cljs.core._equiv = (function cljs$core$_equiv(o,other){
if((!((o == null))) && (!((o.cljs$core$IEquiv$_equiv$arity$2 == null)))){
return o.cljs$core$IEquiv$_equiv$arity$2(o,other);
} else {
var x__9515__auto__ = (((o == null))?null:o);
var m__9516__auto__ = (cljs.core._equiv[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$2 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$2(o,other) : m__9516__auto__.call(null,o,other));
} else {
var m__9516__auto____$1 = (cljs.core._equiv["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$2 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$2(o,other) : m__9516__auto____$1.call(null,o,other));
} else {
throw cljs.core.missing_protocol("IEquiv.-equiv",o);
}
}
}
});
/**
* Protocol for adding hashing functionality to a type.
* @interface
*/
cljs.core.IHash = function(){};
/**
* Returns the hash code of o.
*/
cljs.core._hash = (function cljs$core$_hash(o){
if((!((o == null))) && (!((o.cljs$core$IHash$_hash$arity$1 == null)))){
return o.cljs$core$IHash$_hash$arity$1(o);
} else {
var x__9515__auto__ = (((o == null))?null:o);
var m__9516__auto__ = (cljs.core._hash[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__9516__auto__.call(null,o));
} else {
var m__9516__auto____$1 = (cljs.core._hash["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1(o) : m__9516__auto____$1.call(null,o));
} else {
throw cljs.core.missing_protocol("IHash.-hash",o);
}
}
}
});
/**
* Protocol for adding the ability to a type to be transformed into a sequence.
* @interface
*/
cljs.core.ISeqable = function(){};
/**
* Returns a seq of o, or nil if o is empty.
*/
cljs.core._seq = (function cljs$core$_seq(o){
if((!((o == null))) && (!((o.cljs$core$ISeqable$_seq$arity$1 == null)))){
return o.cljs$core$ISeqable$_seq$arity$1(o);
} else {
var x__9515__auto__ = (((o == null))?null:o);
var m__9516__auto__ = (cljs.core._seq[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$1(o) : m__9516__auto__.call(null,o));
} else {
var m__9516__auto____$1 = (cljs.core._seq["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1(o) : m__9516__auto____$1.call(null,o));
} else {
throw cljs.core.missing_protocol("ISeqable.-seq",o);
}
}
}
});
/**
* Marker interface indicating a persistent collection of sequential items
* @interface
*/
cljs.core.ISequential = function(){};
/**
* Marker interface indicating a persistent list
* @interface
*/
cljs.core.IList = function(){};
/**
* Marker interface indicating a record object
* @interface
*/
cljs.core.IRecord = function(){};
/**
* Protocol for reversing a seq.
* @interface
*/
cljs.core.IReversible = function(){};
/**
* Returns a seq of the items in coll in reversed order.
*/
cljs.core._rseq = (function cljs$core$_rseq(coll){
if((!((coll == null))) && (!((coll.cljs$core$IReversible$_rseq$arity$1 == null)))){
return coll.cljs$core$IReversible$_rseq$arity$1(coll);
} else {
var x__9515__auto__ = (((coll == null))?null:coll);
var m__9516__auto__ = (cljs.core._rseq[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__9516__auto__.call(null,coll));
} else {
var m__9516__auto____$1 = (cljs.core._rseq["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1(coll) : m__9516__auto____$1.call(null,coll));
} else {
throw cljs.core.missing_protocol("IReversible.-rseq",coll);
}
}
}
});
/**
* Protocol for a collection which can represent their items
* in a sorted manner.
* @interface
*/
cljs.core.ISorted = function(){};
/**
* Returns a sorted seq from coll in either ascending or descending order.
*/
cljs.core._sorted_seq = (function cljs$core$_sorted_seq(coll,ascending_QMARK_){
if((!((coll == null))) && (!((coll.cljs$core$ISorted$_sorted_seq$arity$2 == null)))){
return coll.cljs$core$ISorted$_sorted_seq$arity$2(coll,ascending_QMARK_);
} else {
var x__9515__auto__ = (((coll == null))?null:coll);
var m__9516__auto__ = (cljs.core._sorted_seq[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$2 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$2(coll,ascending_QMARK_) : m__9516__auto__.call(null,coll,ascending_QMARK_));
} else {
var m__9516__auto____$1 = (cljs.core._sorted_seq["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$2 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$2(coll,ascending_QMARK_) : m__9516__auto____$1.call(null,coll,ascending_QMARK_));
} else {
throw cljs.core.missing_protocol("ISorted.-sorted-seq",coll);
}
}
}
});
/**
* Returns a sorted seq from coll in either ascending or descending order.
* If ascending is true, the result should contain all items which are > or >=
* than k. If ascending is false, the result should contain all items which
* are < or <= than k, e.g.
* (-sorted-seq-from (sorted-set 1 2 3 4 5) 3 true) => (3 4 5)
* (-sorted-seq-from (sorted-set 1 2 3 4 5) 3 false) => (3 2 1)
*/
cljs.core._sorted_seq_from = (function cljs$core$_sorted_seq_from(coll,k,ascending_QMARK_){
if((!((coll == null))) && (!((coll.cljs$core$ISorted$_sorted_seq_from$arity$3 == null)))){
return coll.cljs$core$ISorted$_sorted_seq_from$arity$3(coll,k,ascending_QMARK_);
} else {
var x__9515__auto__ = (((coll == null))?null:coll);
var m__9516__auto__ = (cljs.core._sorted_seq_from[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$3 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$3(coll,k,ascending_QMARK_) : m__9516__auto__.call(null,coll,k,ascending_QMARK_));
} else {
var m__9516__auto____$1 = (cljs.core._sorted_seq_from["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$3 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$3(coll,k,ascending_QMARK_) : m__9516__auto____$1.call(null,coll,k,ascending_QMARK_));
} else {
throw cljs.core.missing_protocol("ISorted.-sorted-seq-from",coll);
}
}
}
});
/**
* Returns the key for entry.
*/
cljs.core._entry_key = (function cljs$core$_entry_key(coll,entry){
if((!((coll == null))) && (!((coll.cljs$core$ISorted$_entry_key$arity$2 == null)))){
return coll.cljs$core$ISorted$_entry_key$arity$2(coll,entry);
} else {
var x__9515__auto__ = (((coll == null))?null:coll);
var m__9516__auto__ = (cljs.core._entry_key[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$2 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$2(coll,entry) : m__9516__auto__.call(null,coll,entry));
} else {
var m__9516__auto____$1 = (cljs.core._entry_key["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$2 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$2(coll,entry) : m__9516__auto____$1.call(null,coll,entry));
} else {
throw cljs.core.missing_protocol("ISorted.-entry-key",coll);
}
}
}
});
/**
* Returns the comparator for coll.
*/
cljs.core._comparator = (function cljs$core$_comparator(coll){
if((!((coll == null))) && (!((coll.cljs$core$ISorted$_comparator$arity$1 == null)))){
return coll.cljs$core$ISorted$_comparator$arity$1(coll);
} else {
var x__9515__auto__ = (((coll == null))?null:coll);
var m__9516__auto__ = (cljs.core._comparator[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__9516__auto__.call(null,coll));
} else {
var m__9516__auto____$1 = (cljs.core._comparator["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1(coll) : m__9516__auto____$1.call(null,coll));
} else {
throw cljs.core.missing_protocol("ISorted.-comparator",coll);
}
}
}
});
/**
* Protocol for writing. Currently only implemented by StringBufferWriter.
* @interface
*/
cljs.core.IWriter = function(){};
/**
* Writes s with writer and returns the result.
*/
cljs.core._write = (function cljs$core$_write(writer,s){
if((!((writer == null))) && (!((writer.cljs$core$IWriter$_write$arity$2 == null)))){
return writer.cljs$core$IWriter$_write$arity$2(writer,s);
} else {
var x__9515__auto__ = (((writer == null))?null:writer);
var m__9516__auto__ = (cljs.core._write[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$2 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$2(writer,s) : m__9516__auto__.call(null,writer,s));
} else {
var m__9516__auto____$1 = (cljs.core._write["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$2 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$2(writer,s) : m__9516__auto____$1.call(null,writer,s));
} else {
throw cljs.core.missing_protocol("IWriter.-write",writer);
}
}
}
});
/**
* Flush writer.
*/
cljs.core._flush = (function cljs$core$_flush(writer){
if((!((writer == null))) && (!((writer.cljs$core$IWriter$_flush$arity$1 == null)))){
return writer.cljs$core$IWriter$_flush$arity$1(writer);
} else {
var x__9515__auto__ = (((writer == null))?null:writer);
var m__9516__auto__ = (cljs.core._flush[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$1(writer) : m__9516__auto__.call(null,writer));
} else {
var m__9516__auto____$1 = (cljs.core._flush["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1(writer) : m__9516__auto____$1.call(null,writer));
} else {
throw cljs.core.missing_protocol("IWriter.-flush",writer);
}
}
}
});
/**
* The old IPrintable protocol's implementation consisted of building a giant
* list of strings to concatenate. This involved lots of concat calls,
* intermediate vectors, and lazy-seqs, and was very slow in some older JS
* engines. IPrintWithWriter implements printing via the IWriter protocol, so it
* be implemented efficiently in terms of e.g. a StringBuffer append.
* @interface
*/
cljs.core.IPrintWithWriter = function(){};
cljs.core._pr_writer = (function cljs$core$_pr_writer(o,writer,opts){
if((!((o == null))) && (!((o.cljs$core$IPrintWithWriter$_pr_writer$arity$3 == null)))){
return o.cljs$core$IPrintWithWriter$_pr_writer$arity$3(o,writer,opts);
} else {
var x__9515__auto__ = (((o == null))?null:o);
var m__9516__auto__ = (cljs.core._pr_writer[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$3 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$3(o,writer,opts) : m__9516__auto__.call(null,o,writer,opts));
} else {
var m__9516__auto____$1 = (cljs.core._pr_writer["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$3 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$3(o,writer,opts) : m__9516__auto____$1.call(null,o,writer,opts));
} else {
throw cljs.core.missing_protocol("IPrintWithWriter.-pr-writer",o);
}
}
}
});
/**
* Protocol for types which can have a deferred realization. Currently only
* implemented by Delay and LazySeq.
* @interface
*/
cljs.core.IPending = function(){};
/**
* Returns true if a value for x has been produced, false otherwise.
*/
cljs.core._realized_QMARK_ = (function cljs$core$_realized_QMARK_(x){
if((!((x == null))) && (!((x.cljs$core$IPending$_realized_QMARK_$arity$1 == null)))){
return x.cljs$core$IPending$_realized_QMARK_$arity$1(x);
} else {
var x__9515__auto__ = (((x == null))?null:x);
var m__9516__auto__ = (cljs.core._realized_QMARK_[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__9516__auto__.call(null,x));
} else {
var m__9516__auto____$1 = (cljs.core._realized_QMARK_["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1(x) : m__9516__auto____$1.call(null,x));
} else {
throw cljs.core.missing_protocol("IPending.-realized?",x);
}
}
}
});
/**
* Protocol for types that can be watched. Currently only implemented by Atom.
* @interface
*/
cljs.core.IWatchable = function(){};
/**
* Calls all watchers with this, oldval and newval.
*/
cljs.core._notify_watches = (function cljs$core$_notify_watches(this$,oldval,newval){
if((!((this$ == null))) && (!((this$.cljs$core$IWatchable$_notify_watches$arity$3 == null)))){
return this$.cljs$core$IWatchable$_notify_watches$arity$3(this$,oldval,newval);
} else {
var x__9515__auto__ = (((this$ == null))?null:this$);
var m__9516__auto__ = (cljs.core._notify_watches[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$3 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$3(this$,oldval,newval) : m__9516__auto__.call(null,this$,oldval,newval));
} else {
var m__9516__auto____$1 = (cljs.core._notify_watches["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$3 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$3(this$,oldval,newval) : m__9516__auto____$1.call(null,this$,oldval,newval));
} else {
throw cljs.core.missing_protocol("IWatchable.-notify-watches",this$);
}
}
}
});
/**
* Adds a watcher function f to this. Keys must be unique per reference,
* and can be used to remove the watch with -remove-watch.
*/
cljs.core._add_watch = (function cljs$core$_add_watch(this$,key,f){
if((!((this$ == null))) && (!((this$.cljs$core$IWatchable$_add_watch$arity$3 == null)))){
return this$.cljs$core$IWatchable$_add_watch$arity$3(this$,key,f);
} else {
var x__9515__auto__ = (((this$ == null))?null:this$);
var m__9516__auto__ = (cljs.core._add_watch[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$3 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$3(this$,key,f) : m__9516__auto__.call(null,this$,key,f));
} else {
var m__9516__auto____$1 = (cljs.core._add_watch["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$3 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$3(this$,key,f) : m__9516__auto____$1.call(null,this$,key,f));
} else {
throw cljs.core.missing_protocol("IWatchable.-add-watch",this$);
}
}
}
});
/**
* Removes watcher that corresponds to key from this.
*/
cljs.core._remove_watch = (function cljs$core$_remove_watch(this$,key){
if((!((this$ == null))) && (!((this$.cljs$core$IWatchable$_remove_watch$arity$2 == null)))){
return this$.cljs$core$IWatchable$_remove_watch$arity$2(this$,key);
} else {
var x__9515__auto__ = (((this$ == null))?null:this$);
var m__9516__auto__ = (cljs.core._remove_watch[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$2 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$2(this$,key) : m__9516__auto__.call(null,this$,key));
} else {
var m__9516__auto____$1 = (cljs.core._remove_watch["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$2 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$2(this$,key) : m__9516__auto____$1.call(null,this$,key));
} else {
throw cljs.core.missing_protocol("IWatchable.-remove-watch",this$);
}
}
}
});
/**
* Protocol for collections which can transformed to transients.
* @interface
*/
cljs.core.IEditableCollection = function(){};
/**
* Returns a new, transient version of the collection, in constant time.
*/
cljs.core._as_transient = (function cljs$core$_as_transient(coll){
if((!((coll == null))) && (!((coll.cljs$core$IEditableCollection$_as_transient$arity$1 == null)))){
return coll.cljs$core$IEditableCollection$_as_transient$arity$1(coll);
} else {
var x__9515__auto__ = (((coll == null))?null:coll);
var m__9516__auto__ = (cljs.core._as_transient[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__9516__auto__.call(null,coll));
} else {
var m__9516__auto____$1 = (cljs.core._as_transient["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1(coll) : m__9516__auto____$1.call(null,coll));
} else {
throw cljs.core.missing_protocol("IEditableCollection.-as-transient",coll);
}
}
}
});
/**
* Protocol for adding basic functionality to transient collections.
* @interface
*/
cljs.core.ITransientCollection = function(){};
/**
* Adds value val to tcoll and returns tcoll.
*/
cljs.core._conj_BANG_ = (function cljs$core$_conj_BANG_(tcoll,val){
if((!((tcoll == null))) && (!((tcoll.cljs$core$ITransientCollection$_conj_BANG_$arity$2 == null)))){
return tcoll.cljs$core$ITransientCollection$_conj_BANG_$arity$2(tcoll,val);
} else {
var x__9515__auto__ = (((tcoll == null))?null:tcoll);
var m__9516__auto__ = (cljs.core._conj_BANG_[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$2 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$2(tcoll,val) : m__9516__auto__.call(null,tcoll,val));
} else {
var m__9516__auto____$1 = (cljs.core._conj_BANG_["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$2 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$2(tcoll,val) : m__9516__auto____$1.call(null,tcoll,val));
} else {
throw cljs.core.missing_protocol("ITransientCollection.-conj!",tcoll);
}
}
}
});
/**
* Creates a persistent data structure from tcoll and returns it.
*/
cljs.core._persistent_BANG_ = (function cljs$core$_persistent_BANG_(tcoll){
if((!((tcoll == null))) && (!((tcoll.cljs$core$ITransientCollection$_persistent_BANG_$arity$1 == null)))){
return tcoll.cljs$core$ITransientCollection$_persistent_BANG_$arity$1(tcoll);
} else {
var x__9515__auto__ = (((tcoll == null))?null:tcoll);
var m__9516__auto__ = (cljs.core._persistent_BANG_[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$1(tcoll) : m__9516__auto__.call(null,tcoll));
} else {
var m__9516__auto____$1 = (cljs.core._persistent_BANG_["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1(tcoll) : m__9516__auto____$1.call(null,tcoll));
} else {
throw cljs.core.missing_protocol("ITransientCollection.-persistent!",tcoll);
}
}
}
});
/**
* Protocol for adding associativity to transient collections.
* @interface
*/
cljs.core.ITransientAssociative = function(){};
/**
* Returns a new transient collection of tcoll with a mapping from key to
* val added to it.
*/
cljs.core._assoc_BANG_ = (function cljs$core$_assoc_BANG_(tcoll,key,val){
if((!((tcoll == null))) && (!((tcoll.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3 == null)))){
return tcoll.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3(tcoll,key,val);
} else {
var x__9515__auto__ = (((tcoll == null))?null:tcoll);
var m__9516__auto__ = (cljs.core._assoc_BANG_[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$3 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$3(tcoll,key,val) : m__9516__auto__.call(null,tcoll,key,val));
} else {
var m__9516__auto____$1 = (cljs.core._assoc_BANG_["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$3 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$3(tcoll,key,val) : m__9516__auto____$1.call(null,tcoll,key,val));
} else {
throw cljs.core.missing_protocol("ITransientAssociative.-assoc!",tcoll);
}
}
}
});
/**
* Protocol for adding mapping functionality to transient collections.
* @interface
*/
cljs.core.ITransientMap = function(){};
/**
* Returns a new transient collection of tcoll without the mapping for key.
*/
cljs.core._dissoc_BANG_ = (function cljs$core$_dissoc_BANG_(tcoll,key){
if((!((tcoll == null))) && (!((tcoll.cljs$core$ITransientMap$_dissoc_BANG_$arity$2 == null)))){
return tcoll.cljs$core$ITransientMap$_dissoc_BANG_$arity$2(tcoll,key);
} else {
var x__9515__auto__ = (((tcoll == null))?null:tcoll);
var m__9516__auto__ = (cljs.core._dissoc_BANG_[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$2 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$2(tcoll,key) : m__9516__auto__.call(null,tcoll,key));
} else {
var m__9516__auto____$1 = (cljs.core._dissoc_BANG_["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$2 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$2(tcoll,key) : m__9516__auto____$1.call(null,tcoll,key));
} else {
throw cljs.core.missing_protocol("ITransientMap.-dissoc!",tcoll);
}
}
}
});
/**
* Protocol for adding vector functionality to transient collections.
* @interface
*/
cljs.core.ITransientVector = function(){};
/**
* Returns tcoll with value val added at position n.
*/
cljs.core._assoc_n_BANG_ = (function cljs$core$_assoc_n_BANG_(tcoll,n,val){
if((!((tcoll == null))) && (!((tcoll.cljs$core$ITransientVector$_assoc_n_BANG_$arity$3 == null)))){
return tcoll.cljs$core$ITransientVector$_assoc_n_BANG_$arity$3(tcoll,n,val);
} else {
var x__9515__auto__ = (((tcoll == null))?null:tcoll);
var m__9516__auto__ = (cljs.core._assoc_n_BANG_[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$3 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$3(tcoll,n,val) : m__9516__auto__.call(null,tcoll,n,val));
} else {
var m__9516__auto____$1 = (cljs.core._assoc_n_BANG_["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$3 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$3(tcoll,n,val) : m__9516__auto____$1.call(null,tcoll,n,val));
} else {
throw cljs.core.missing_protocol("ITransientVector.-assoc-n!",tcoll);
}
}
}
});
/**
* Returns tcoll with the last item removed from it.
*/
cljs.core._pop_BANG_ = (function cljs$core$_pop_BANG_(tcoll){
if((!((tcoll == null))) && (!((tcoll.cljs$core$ITransientVector$_pop_BANG_$arity$1 == null)))){
return tcoll.cljs$core$ITransientVector$_pop_BANG_$arity$1(tcoll);
} else {
var x__9515__auto__ = (((tcoll == null))?null:tcoll);
var m__9516__auto__ = (cljs.core._pop_BANG_[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$1(tcoll) : m__9516__auto__.call(null,tcoll));
} else {
var m__9516__auto____$1 = (cljs.core._pop_BANG_["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1(tcoll) : m__9516__auto____$1.call(null,tcoll));
} else {
throw cljs.core.missing_protocol("ITransientVector.-pop!",tcoll);
}
}
}
});
/**
* Protocol for adding set functionality to a transient collection.
* @interface
*/
cljs.core.ITransientSet = function(){};
/**
* Returns tcoll without v.
*/
cljs.core._disjoin_BANG_ = (function cljs$core$_disjoin_BANG_(tcoll,v){
if((!((tcoll == null))) && (!((tcoll.cljs$core$ITransientSet$_disjoin_BANG_$arity$2 == null)))){
return tcoll.cljs$core$ITransientSet$_disjoin_BANG_$arity$2(tcoll,v);
} else {
var x__9515__auto__ = (((tcoll == null))?null:tcoll);
var m__9516__auto__ = (cljs.core._disjoin_BANG_[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$2 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$2(tcoll,v) : m__9516__auto__.call(null,tcoll,v));
} else {
var m__9516__auto____$1 = (cljs.core._disjoin_BANG_["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$2 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$2(tcoll,v) : m__9516__auto____$1.call(null,tcoll,v));
} else {
throw cljs.core.missing_protocol("ITransientSet.-disjoin!",tcoll);
}
}
}
});
/**
* Protocol for values that can be compared.
* @interface
*/
cljs.core.IComparable = function(){};
/**
* Returns a negative number, zero, or a positive number when x is logically
* 'less than', 'equal to', or 'greater than' y.
*/
cljs.core._compare = (function cljs$core$_compare(x,y){
if((!((x == null))) && (!((x.cljs$core$IComparable$_compare$arity$2 == null)))){
return x.cljs$core$IComparable$_compare$arity$2(x,y);
} else {
var x__9515__auto__ = (((x == null))?null:x);
var m__9516__auto__ = (cljs.core._compare[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$2 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$2(x,y) : m__9516__auto__.call(null,x,y));
} else {
var m__9516__auto____$1 = (cljs.core._compare["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$2 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$2(x,y) : m__9516__auto____$1.call(null,x,y));
} else {
throw cljs.core.missing_protocol("IComparable.-compare",x);
}
}
}
});
/**
* Protocol for accessing the items of a chunk.
* @interface
*/
cljs.core.IChunk = function(){};
/**
* Return a new chunk of coll with the first item removed.
*/
cljs.core._drop_first = (function cljs$core$_drop_first(coll){
if((!((coll == null))) && (!((coll.cljs$core$IChunk$_drop_first$arity$1 == null)))){
return coll.cljs$core$IChunk$_drop_first$arity$1(coll);
} else {
var x__9515__auto__ = (((coll == null))?null:coll);
var m__9516__auto__ = (cljs.core._drop_first[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__9516__auto__.call(null,coll));
} else {
var m__9516__auto____$1 = (cljs.core._drop_first["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1(coll) : m__9516__auto____$1.call(null,coll));
} else {
throw cljs.core.missing_protocol("IChunk.-drop-first",coll);
}
}
}
});
/**
* Protocol for accessing a collection as sequential chunks.
* @interface
*/
cljs.core.IChunkedSeq = function(){};
/**
* Returns the first chunk in coll.
*/
cljs.core._chunked_first = (function cljs$core$_chunked_first(coll){
if((!((coll == null))) && (!((coll.cljs$core$IChunkedSeq$_chunked_first$arity$1 == null)))){
return coll.cljs$core$IChunkedSeq$_chunked_first$arity$1(coll);
} else {
var x__9515__auto__ = (((coll == null))?null:coll);
var m__9516__auto__ = (cljs.core._chunked_first[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__9516__auto__.call(null,coll));
} else {
var m__9516__auto____$1 = (cljs.core._chunked_first["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1(coll) : m__9516__auto____$1.call(null,coll));
} else {
throw cljs.core.missing_protocol("IChunkedSeq.-chunked-first",coll);
}
}
}
});
/**
* Return a new collection of coll with the first chunk removed.
*/
cljs.core._chunked_rest = (function cljs$core$_chunked_rest(coll){
if((!((coll == null))) && (!((coll.cljs$core$IChunkedSeq$_chunked_rest$arity$1 == null)))){
return coll.cljs$core$IChunkedSeq$_chunked_rest$arity$1(coll);
} else {
var x__9515__auto__ = (((coll == null))?null:coll);
var m__9516__auto__ = (cljs.core._chunked_rest[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__9516__auto__.call(null,coll));
} else {
var m__9516__auto____$1 = (cljs.core._chunked_rest["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1(coll) : m__9516__auto____$1.call(null,coll));
} else {
throw cljs.core.missing_protocol("IChunkedSeq.-chunked-rest",coll);
}
}
}
});
/**
* Protocol for accessing the chunks of a collection.
* @interface
*/
cljs.core.IChunkedNext = function(){};
/**
* Returns a new collection of coll without the first chunk.
*/
cljs.core._chunked_next = (function cljs$core$_chunked_next(coll){
if((!((coll == null))) && (!((coll.cljs$core$IChunkedNext$_chunked_next$arity$1 == null)))){
return coll.cljs$core$IChunkedNext$_chunked_next$arity$1(coll);
} else {
var x__9515__auto__ = (((coll == null))?null:coll);
var m__9516__auto__ = (cljs.core._chunked_next[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__9516__auto__.call(null,coll));
} else {
var m__9516__auto____$1 = (cljs.core._chunked_next["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1(coll) : m__9516__auto____$1.call(null,coll));
} else {
throw cljs.core.missing_protocol("IChunkedNext.-chunked-next",coll);
}
}
}
});
/**
* Protocol for adding a name.
* @interface
*/
cljs.core.INamed = function(){};
/**
* Returns the name String of x.
*/
cljs.core._name = (function cljs$core$_name(x){
if((!((x == null))) && (!((x.cljs$core$INamed$_name$arity$1 == null)))){
return x.cljs$core$INamed$_name$arity$1(x);
} else {
var x__9515__auto__ = (((x == null))?null:x);
var m__9516__auto__ = (cljs.core._name[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__9516__auto__.call(null,x));
} else {
var m__9516__auto____$1 = (cljs.core._name["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1(x) : m__9516__auto____$1.call(null,x));
} else {
throw cljs.core.missing_protocol("INamed.-name",x);
}
}
}
});
/**
* Returns the namespace String of x.
*/
cljs.core._namespace = (function cljs$core$_namespace(x){
if((!((x == null))) && (!((x.cljs$core$INamed$_namespace$arity$1 == null)))){
return x.cljs$core$INamed$_namespace$arity$1(x);
} else {
var x__9515__auto__ = (((x == null))?null:x);
var m__9516__auto__ = (cljs.core._namespace[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__9516__auto__.call(null,x));
} else {
var m__9516__auto____$1 = (cljs.core._namespace["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1(x) : m__9516__auto____$1.call(null,x));
} else {
throw cljs.core.missing_protocol("INamed.-namespace",x);
}
}
}
});
/**
* Marker protocol indicating an atom.
* @interface
*/
cljs.core.IAtom = function(){};
/**
* Protocol for adding resetting functionality.
* @interface
*/
cljs.core.IReset = function(){};
/**
* Sets the value of o to new-value.
*/
cljs.core._reset_BANG_ = (function cljs$core$_reset_BANG_(o,new_value){
if((!((o == null))) && (!((o.cljs$core$IReset$_reset_BANG_$arity$2 == null)))){
return o.cljs$core$IReset$_reset_BANG_$arity$2(o,new_value);
} else {
var x__9515__auto__ = (((o == null))?null:o);
var m__9516__auto__ = (cljs.core._reset_BANG_[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$2 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$2(o,new_value) : m__9516__auto__.call(null,o,new_value));
} else {
var m__9516__auto____$1 = (cljs.core._reset_BANG_["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$2 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$2(o,new_value) : m__9516__auto____$1.call(null,o,new_value));
} else {
throw cljs.core.missing_protocol("IReset.-reset!",o);
}
}
}
});
/**
* Protocol for adding swapping functionality.
* @interface
*/
cljs.core.ISwap = function(){};
/**
* Swaps the value of o to be (apply f current-value-of-atom args).
*/
cljs.core._swap_BANG_ = (function cljs$core$_swap_BANG_(var_args){
var G__11773 = arguments.length;
switch (G__11773) {
case 2:
return cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
case 4:
return cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));
break;
case 5:
return cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$2 = (function (o,f){
if((!((o == null))) && (!((o.cljs$core$ISwap$_swap_BANG_$arity$2 == null)))){
return o.cljs$core$ISwap$_swap_BANG_$arity$2(o,f);
} else {
var x__9515__auto__ = (((o == null))?null:o);
var m__9516__auto__ = (cljs.core._swap_BANG_[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$2 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$2(o,f) : m__9516__auto__.call(null,o,f));
} else {
var m__9516__auto____$1 = (cljs.core._swap_BANG_["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$2 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$2(o,f) : m__9516__auto____$1.call(null,o,f));
} else {
throw cljs.core.missing_protocol("ISwap.-swap!",o);
}
}
}
});
cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$3 = (function (o,f,a){
if((!((o == null))) && (!((o.cljs$core$ISwap$_swap_BANG_$arity$3 == null)))){
return o.cljs$core$ISwap$_swap_BANG_$arity$3(o,f,a);
} else {
var x__9515__auto__ = (((o == null))?null:o);
var m__9516__auto__ = (cljs.core._swap_BANG_[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$3 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$3(o,f,a) : m__9516__auto__.call(null,o,f,a));
} else {
var m__9516__auto____$1 = (cljs.core._swap_BANG_["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$3 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$3(o,f,a) : m__9516__auto____$1.call(null,o,f,a));
} else {
throw cljs.core.missing_protocol("ISwap.-swap!",o);
}
}
}
});
cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$4 = (function (o,f,a,b){
if((!((o == null))) && (!((o.cljs$core$ISwap$_swap_BANG_$arity$4 == null)))){
return o.cljs$core$ISwap$_swap_BANG_$arity$4(o,f,a,b);
} else {
var x__9515__auto__ = (((o == null))?null:o);
var m__9516__auto__ = (cljs.core._swap_BANG_[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$4 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$4(o,f,a,b) : m__9516__auto__.call(null,o,f,a,b));
} else {
var m__9516__auto____$1 = (cljs.core._swap_BANG_["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$4 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$4(o,f,a,b) : m__9516__auto____$1.call(null,o,f,a,b));
} else {
throw cljs.core.missing_protocol("ISwap.-swap!",o);
}
}
}
});
cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$5 = (function (o,f,a,b,xs){
if((!((o == null))) && (!((o.cljs$core$ISwap$_swap_BANG_$arity$5 == null)))){
return o.cljs$core$ISwap$_swap_BANG_$arity$5(o,f,a,b,xs);
} else {
var x__9515__auto__ = (((o == null))?null:o);
var m__9516__auto__ = (cljs.core._swap_BANG_[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$5 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$5(o,f,a,b,xs) : m__9516__auto__.call(null,o,f,a,b,xs));
} else {
var m__9516__auto____$1 = (cljs.core._swap_BANG_["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$5 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$5(o,f,a,b,xs) : m__9516__auto____$1.call(null,o,f,a,b,xs));
} else {
throw cljs.core.missing_protocol("ISwap.-swap!",o);
}
}
}
});
cljs.core._swap_BANG_.cljs$lang$maxFixedArity = 5;
/**
* Protocol for adding volatile functionality.
* @interface
*/
cljs.core.IVolatile = function(){};
/**
* Sets the value of volatile o to new-value without regard for the
* current value. Returns new-value.
*/
cljs.core._vreset_BANG_ = (function cljs$core$_vreset_BANG_(o,new_value){
if((!((o == null))) && (!((o.cljs$core$IVolatile$_vreset_BANG_$arity$2 == null)))){
return o.cljs$core$IVolatile$_vreset_BANG_$arity$2(o,new_value);
} else {
var x__9515__auto__ = (((o == null))?null:o);
var m__9516__auto__ = (cljs.core._vreset_BANG_[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$2 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$2(o,new_value) : m__9516__auto__.call(null,o,new_value));
} else {
var m__9516__auto____$1 = (cljs.core._vreset_BANG_["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$2 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$2(o,new_value) : m__9516__auto____$1.call(null,o,new_value));
} else {
throw cljs.core.missing_protocol("IVolatile.-vreset!",o);
}
}
}
});
/**
* Protocol for iterating over a collection.
* @interface
*/
cljs.core.IIterable = function(){};
/**
* Returns an iterator for coll.
*/
cljs.core._iterator = (function cljs$core$_iterator(coll){
if((!((coll == null))) && (!((coll.cljs$core$IIterable$_iterator$arity$1 == null)))){
return coll.cljs$core$IIterable$_iterator$arity$1(coll);
} else {
var x__9515__auto__ = (((coll == null))?null:coll);
var m__9516__auto__ = (cljs.core._iterator[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$1(coll) : m__9516__auto__.call(null,coll));
} else {
var m__9516__auto____$1 = (cljs.core._iterator["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1(coll) : m__9516__auto____$1.call(null,coll));
} else {
throw cljs.core.missing_protocol("IIterable.-iterator",coll);
}
}
}
});
/**
* @constructor
* @implements {cljs.core.IWriter}
*/
cljs.core.StringBufferWriter = (function (sb){
this.sb = sb;
this.cljs$lang$protocol_mask$partition0$ = 1073741824;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
cljs.core.StringBufferWriter.prototype.cljs$core$IWriter$_write$arity$2 = (function (_,s){
var self__ = this;
var ___$1 = this;
return self__.sb.append(s);
});
cljs.core.StringBufferWriter.prototype.cljs$core$IWriter$_flush$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return null;
});
cljs.core.StringBufferWriter.getBasis = (function (){
return new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$sb], null);
});
cljs.core.StringBufferWriter.cljs$lang$type = true;
cljs.core.StringBufferWriter.cljs$lang$ctorStr = "cljs.core/StringBufferWriter";
cljs.core.StringBufferWriter.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/StringBufferWriter");
});
cljs.core.__GT_StringBufferWriter = (function cljs$core$__GT_StringBufferWriter(sb){
return (new cljs.core.StringBufferWriter(sb));
});
/**
* Support so that collections can implement toString without
* loading all the printing machinery.
*/
cljs.core.pr_str_STAR_ = (function cljs$core$pr_str_STAR_(obj){
var sb = (new goog.string.StringBuffer());
var writer = (new cljs.core.StringBufferWriter(sb));
obj.cljs$core$IPrintWithWriter$_pr_writer$arity$3(null,writer,cljs.core.pr_opts());
writer.cljs$core$IWriter$_flush$arity$1(null);
return [cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb)].join('');
});
cljs.core.int_rotate_left = (function cljs$core$int_rotate_left(x,n){
return ((x << n) | (x >>> (- n)));
});
if((typeof Math.imul !== 'undefined') && (!((Math.imul((4294967295),(5)) === (0))))){
cljs.core.imul = (function cljs$core$imul(a,b){
return Math.imul(a,b);
});
} else {
cljs.core.imul = (function cljs$core$imul(a,b){
var ah = ((a >>> (16)) & (65535));
var al = (a & (65535));
var bh = ((b >>> (16)) & (65535));
var bl = (b & (65535));
return (((al * bl) + ((((ah * bl) + (al * bh)) << (16)) >>> (0))) | (0));
});
}
cljs.core.m3_seed = (0);
cljs.core.m3_C1 = ((3432918353) | (0));
cljs.core.m3_C2 = ((461845907) | (0));
cljs.core.m3_mix_K1 = (function cljs$core$m3_mix_K1(k1){
return cljs.core.imul(cljs.core.int_rotate_left(cljs.core.imul((k1 | (0)),cljs.core.m3_C1),(15)),cljs.core.m3_C2);
});
cljs.core.m3_mix_H1 = (function cljs$core$m3_mix_H1(h1,k1){
return ((cljs.core.imul(cljs.core.int_rotate_left(((h1 | (0)) ^ (k1 | (0))),(13)),(5)) + ((3864292196) | (0))) | (0));
});
cljs.core.m3_fmix = (function cljs$core$m3_fmix(h1,len){
var h1__$1 = (h1 | (0));
var h1__$2 = (h1__$1 ^ len);
var h1__$3 = (h1__$2 ^ (h1__$2 >>> (16)));
var h1__$4 = cljs.core.imul(h1__$3,((2246822507) | (0)));
var h1__$5 = (h1__$4 ^ (h1__$4 >>> (13)));
var h1__$6 = cljs.core.imul(h1__$5,((3266489909) | (0)));
return (h1__$6 ^ (h1__$6 >>> (16)));
});
cljs.core.m3_hash_int = (function cljs$core$m3_hash_int(in$){
if((in$ === (0))){
return in$;
} else {
var k1 = cljs.core.m3_mix_K1(in$);
var h1 = cljs.core.m3_mix_H1(cljs.core.m3_seed,k1);
return cljs.core.m3_fmix(h1,(4));
}
});
cljs.core.m3_hash_unencoded_chars = (function cljs$core$m3_hash_unencoded_chars(in$){
var h1 = (function (){var i = (1);
var h1 = cljs.core.m3_seed;
while(true){
if((i < in$.length)){
var G__11775 = (i + (2));
var G__11776 = cljs.core.m3_mix_H1(h1,cljs.core.m3_mix_K1((in$.charCodeAt((i - (1))) | (in$.charCodeAt(i) << (16)))));
i = G__11775;
h1 = G__11776;
continue;
} else {
return h1;
}
break;
}
})();
var h1__$1 = ((((in$.length & (1)) === (1)))?(h1 ^ cljs.core.m3_mix_K1(in$.charCodeAt((in$.length - (1))))):h1);
return cljs.core.m3_fmix(h1__$1,cljs.core.imul((2),in$.length));
});
cljs.core.string_hash_cache = {};
cljs.core.string_hash_cache_count = (0);
cljs.core.hash_string_STAR_ = (function cljs$core$hash_string_STAR_(s){
if(!((s == null))){
var len = s.length;
if((len > (0))){
var i = (0);
var hash = (0);
while(true){
if((i < len)){
var G__11779 = (i + (1));
var G__11780 = (cljs.core.imul((31),hash) + s.charCodeAt(i));
i = G__11779;
hash = G__11780;
continue;
} else {
return hash;
}
break;
}
} else {
return (0);
}
} else {
return (0);
}
});
cljs.core.add_to_string_hash_cache = (function cljs$core$add_to_string_hash_cache(k){
var h = cljs.core.hash_string_STAR_(k);
goog.object.set(cljs.core.string_hash_cache,k,h);
cljs.core.string_hash_cache_count = (cljs.core.string_hash_cache_count + (1));
return h;
});
cljs.core.hash_string = (function cljs$core$hash_string(k){
if((cljs.core.string_hash_cache_count > (255))){
cljs.core.string_hash_cache = {};
cljs.core.string_hash_cache_count = (0);
} else {
}
if((k == null)){
return (0);
} else {
var h = (cljs.core.string_hash_cache[k]);
if(typeof h === 'number'){
return h;
} else {
return cljs.core.add_to_string_hash_cache(k);
}
}
});
/**
* Returns the hash code of its argument. Note this is the hash code
* consistent with =.
*/
cljs.core.hash = (function cljs$core$hash(o){
if(((!((o == null)))?((((o.cljs$lang$protocol_mask$partition0$ & (4194304))) || ((cljs.core.PROTOCOL_SENTINEL === o.cljs$core$IHash$)))?true:false):false)){
return (o.cljs$core$IHash$_hash$arity$1(null) ^ (0));
} else {
if(typeof o === 'number'){
if(cljs.core.truth_(isFinite(o))){
return (Math.floor(o) % (2147483647));
} else {
var G__11784 = o;
switch (G__11784) {
case Infinity:
return (2146435072);
break;
case -Infinity:
return (-1048576);
break;
default:
return (2146959360);
}
}
} else {
if(o === true){
return (1231);
} else {
if(o === false){
return (1237);
} else {
if(typeof o === 'string'){
return cljs.core.m3_hash_int(cljs.core.hash_string(o));
} else {
if((o instanceof Date)){
return (o.valueOf() ^ (0));
} else {
if((o == null)){
return (0);
} else {
return (cljs.core._hash(o) ^ (0));
}
}
}
}
}
}
}
});
cljs.core.hash_combine = (function cljs$core$hash_combine(seed,hash){
return (seed ^ (((hash + (2654435769)) + (seed << (6))) + (seed >> (2))));
});
/**
* Evaluates x and tests if it is an instance of the type
* c. Returns true or false
*/
cljs.core.instance_QMARK_ = (function cljs$core$instance_QMARK_(c,x){
return (x instanceof c);
});
/**
* Return true if x is a Symbol
*/
cljs.core.symbol_QMARK_ = (function cljs$core$symbol_QMARK_(x){
return (x instanceof cljs.core.Symbol);
});
cljs.core.hash_symbol = (function cljs$core$hash_symbol(sym){
return cljs.core.hash_combine(cljs.core.m3_hash_unencoded_chars(sym.name),cljs.core.hash_string(sym.ns));
});
cljs.core.compare_symbols = (function cljs$core$compare_symbols(a,b){
if((a.str === b.str)){
return (0);
} else {
if(cljs.core.truth_((function (){var and__8770__auto__ = cljs.core.not(a.ns);
if(and__8770__auto__){
return b.ns;
} else {
return and__8770__auto__;
}
})())){
return (-1);
} else {
if(cljs.core.truth_(a.ns)){
if(cljs.core.not(b.ns)){
return (1);
} else {
var nsc = (function (){var G__11786 = a.ns;
var G__11787 = b.ns;
return goog.array.defaultCompare(G__11786,G__11787);
})();
if(((0) === nsc)){
var G__11788 = a.name;
var G__11789 = b.name;
return goog.array.defaultCompare(G__11788,G__11789);
} else {
return nsc;
}
}
} else {
var G__11790 = a.name;
var G__11791 = b.name;
return goog.array.defaultCompare(G__11790,G__11791);
}
}
}
});
/**
* @constructor
* @implements {cljs.core.IEquiv}
* @implements {cljs.core.IHash}
* @implements {cljs.core.IFn}
* @implements {cljs.core.INamed}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.IPrintWithWriter}
* @implements {cljs.core.IWithMeta}
*/
cljs.core.Symbol = (function (ns,name,str,_hash,_meta){
this.ns = ns;
this.name = name;
this.str = str;
this._hash = _hash;
this._meta = _meta;
this.cljs$lang$protocol_mask$partition0$ = 2154168321;
this.cljs$lang$protocol_mask$partition1$ = 4096;
});
cljs.core.Symbol.prototype.toString = (function (){
var self__ = this;
var _ = this;
return self__.str;
});
cljs.core.Symbol.prototype.equiv = (function (other){
var self__ = this;
var this$ = this;
return this$.cljs$core$IEquiv$_equiv$arity$2(null,other);
});
cljs.core.Symbol.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (_,other){
var self__ = this;
var ___$1 = this;
if((other instanceof cljs.core.Symbol)){
return (self__.str === other.str);
} else {
return false;
}
});
cljs.core.Symbol.prototype.call = (function() {
var G__11793 = null;
var G__11793__2 = (function (self__,coll){
var self__ = this;
var self____$1 = this;
var sym = self____$1;
return cljs.core.get.cljs$core$IFn$_invoke$arity$2(coll,sym);
});
var G__11793__3 = (function (self__,coll,not_found){
var self__ = this;
var self____$1 = this;
var sym = self____$1;
return cljs.core.get.cljs$core$IFn$_invoke$arity$3(coll,sym,not_found);
});
G__11793 = function(self__,coll,not_found){
switch(arguments.length){
case 2:
return G__11793__2.call(this,self__,coll);
case 3:
return G__11793__3.call(this,self__,coll,not_found);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__11793.cljs$core$IFn$_invoke$arity$2 = G__11793__2;
G__11793.cljs$core$IFn$_invoke$arity$3 = G__11793__3;
return G__11793;
})()
;
cljs.core.Symbol.prototype.apply = (function (self__,args11792){
var self__ = this;
var self____$1 = this;
return self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args11792)));
});
cljs.core.Symbol.prototype.cljs$core$IFn$_invoke$arity$1 = (function (coll){
var self__ = this;
var sym = this;
return cljs.core.get.cljs$core$IFn$_invoke$arity$2(coll,sym);
});
cljs.core.Symbol.prototype.cljs$core$IFn$_invoke$arity$2 = (function (coll,not_found){
var self__ = this;
var sym = this;
return cljs.core.get.cljs$core$IFn$_invoke$arity$3(coll,sym,not_found);
});
cljs.core.Symbol.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return self__._meta;
});
cljs.core.Symbol.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_,new_meta){
var self__ = this;
var ___$1 = this;
return (new cljs.core.Symbol(self__.ns,self__.name,self__.str,self__._hash,new_meta));
});
cljs.core.Symbol.prototype.cljs$core$IHash$_hash$arity$1 = (function (sym){
var self__ = this;
var sym__$1 = this;
var h__9238__auto__ = self__._hash;
if(!((h__9238__auto__ == null))){
return h__9238__auto__;
} else {
var h__9238__auto____$1 = cljs.core.hash_symbol(sym__$1);
self__._hash = h__9238__auto____$1;
return h__9238__auto____$1;
}
});
cljs.core.Symbol.prototype.cljs$core$INamed$_name$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return self__.name;
});
cljs.core.Symbol.prototype.cljs$core$INamed$_namespace$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return self__.ns;
});
cljs.core.Symbol.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (o,writer,_){
var self__ = this;
var o__$1 = this;
return cljs.core._write(writer,self__.str);
});
cljs.core.Symbol.getBasis = (function (){
return new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$ns,cljs.core.cst$sym$name,cljs.core.cst$sym$str,cljs.core.with_meta(cljs.core.cst$sym$_hash,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null)),cljs.core.cst$sym$_meta], null);
});
cljs.core.Symbol.cljs$lang$type = true;
cljs.core.Symbol.cljs$lang$ctorStr = "cljs.core/Symbol";
cljs.core.Symbol.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/Symbol");
});
cljs.core.__GT_Symbol = (function cljs$core$__GT_Symbol(ns,name,str,_hash,_meta){
return (new cljs.core.Symbol(ns,name,str,_hash,_meta));
});
/**
* Returns a Symbol with the given namespace and name.
*/
cljs.core.symbol = (function cljs$core$symbol(var_args){
var G__11795 = arguments.length;
switch (G__11795) {
case 1:
return cljs.core.symbol.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.symbol.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.symbol.cljs$core$IFn$_invoke$arity$1 = (function (name){
if((name instanceof cljs.core.Symbol)){
return name;
} else {
var idx = name.indexOf("/");
if((idx < (1))){
return cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(null,name);
} else {
return cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(name.substring((0),idx),name.substring((idx + (1)),name.length));
}
}
});
cljs.core.symbol.cljs$core$IFn$_invoke$arity$2 = (function (ns,name){
var sym_str = ((!((ns == null)))?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns),"/",cljs.core.str.cljs$core$IFn$_invoke$arity$1(name)].join(''):name);
return (new cljs.core.Symbol(ns,name,sym_str,null,null));
});
cljs.core.symbol.cljs$lang$maxFixedArity = 2;
/**
* @constructor
* @implements {cljs.core.IEquiv}
* @implements {cljs.core.IHash}
* @implements {cljs.core.IFn}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.Fn}
* @implements {cljs.core.IDeref}
* @implements {cljs.core.IWithMeta}
*/
cljs.core.Var = (function (val,sym,_meta){
this.val = val;
this.sym = sym;
this._meta = _meta;
this.cljs$lang$protocol_mask$partition0$ = 6717441;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
cljs.core.Var.prototype.isMacro = (function (){
var self__ = this;
var _ = this;
return (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null)).cljs$lang$macro;
});
cljs.core.Var.prototype.toString = (function (){
var self__ = this;
var _ = this;
return ["#'",cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.sym)].join('');
});
cljs.core.Var.prototype.cljs$core$IDeref$_deref$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));
});
cljs.core.Var.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return self__._meta;
});
cljs.core.Var.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_,new_meta){
var self__ = this;
var ___$1 = this;
return (new cljs.core.Var(self__.val,self__.sym,new_meta));
});
cljs.core.Var.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (this$,other){
var self__ = this;
var this$__$1 = this;
if((other instanceof cljs.core.Var)){
return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(this$__$1.sym,other.sym);
} else {
return false;
}
});
cljs.core.Var.prototype.cljs$core$IHash$_hash$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return cljs.core.hash_symbol(self__.sym);
});
cljs.core.Var.prototype.cljs$core$Fn$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.Var.prototype.call = (function() {
var G__11840 = null;
var G__11840__1 = (function (self__){
var self__ = this;
var self____$1 = this;
var _ = self____$1;
var fexpr__11798 = (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));
return (fexpr__11798.cljs$core$IFn$_invoke$arity$0 ? fexpr__11798.cljs$core$IFn$_invoke$arity$0() : fexpr__11798.call(null));
});
var G__11840__2 = (function (self__,a){
var self__ = this;
var self____$1 = this;
var _ = self____$1;
var fexpr__11799 = (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));
return (fexpr__11799.cljs$core$IFn$_invoke$arity$1 ? fexpr__11799.cljs$core$IFn$_invoke$arity$1(a) : fexpr__11799.call(null,a));
});
var G__11840__3 = (function (self__,a,b){
var self__ = this;
var self____$1 = this;
var _ = self____$1;
var fexpr__11800 = (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));
return (fexpr__11800.cljs$core$IFn$_invoke$arity$2 ? fexpr__11800.cljs$core$IFn$_invoke$arity$2(a,b) : fexpr__11800.call(null,a,b));
});
var G__11840__4 = (function (self__,a,b,c){
var self__ = this;
var self____$1 = this;
var _ = self____$1;
var fexpr__11801 = (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));
return (fexpr__11801.cljs$core$IFn$_invoke$arity$3 ? fexpr__11801.cljs$core$IFn$_invoke$arity$3(a,b,c) : fexpr__11801.call(null,a,b,c));
});
var G__11840__5 = (function (self__,a,b,c,d){
var self__ = this;
var self____$1 = this;
var _ = self____$1;
var fexpr__11802 = (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));
return (fexpr__11802.cljs$core$IFn$_invoke$arity$4 ? fexpr__11802.cljs$core$IFn$_invoke$arity$4(a,b,c,d) : fexpr__11802.call(null,a,b,c,d));
});
var G__11840__6 = (function (self__,a,b,c,d,e){
var self__ = this;
var self____$1 = this;
var _ = self____$1;
var fexpr__11803 = (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));
return (fexpr__11803.cljs$core$IFn$_invoke$arity$5 ? fexpr__11803.cljs$core$IFn$_invoke$arity$5(a,b,c,d,e) : fexpr__11803.call(null,a,b,c,d,e));
});
var G__11840__7 = (function (self__,a,b,c,d,e,f){
var self__ = this;
var self____$1 = this;
var _ = self____$1;
var fexpr__11804 = (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));
return (fexpr__11804.cljs$core$IFn$_invoke$arity$6 ? fexpr__11804.cljs$core$IFn$_invoke$arity$6(a,b,c,d,e,f) : fexpr__11804.call(null,a,b,c,d,e,f));
});
var G__11840__8 = (function (self__,a,b,c,d,e,f,g){
var self__ = this;
var self____$1 = this;
var _ = self____$1;
var fexpr__11805 = (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));
return (fexpr__11805.cljs$core$IFn$_invoke$arity$7 ? fexpr__11805.cljs$core$IFn$_invoke$arity$7(a,b,c,d,e,f,g) : fexpr__11805.call(null,a,b,c,d,e,f,g));
});
var G__11840__9 = (function (self__,a,b,c,d,e,f,g,h){
var self__ = this;
var self____$1 = this;
var _ = self____$1;
var fexpr__11806 = (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));
return (fexpr__11806.cljs$core$IFn$_invoke$arity$8 ? fexpr__11806.cljs$core$IFn$_invoke$arity$8(a,b,c,d,e,f,g,h) : fexpr__11806.call(null,a,b,c,d,e,f,g,h));
});
var G__11840__10 = (function (self__,a,b,c,d,e,f,g,h,i){
var self__ = this;
var self____$1 = this;
var _ = self____$1;
var fexpr__11807 = (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));
return (fexpr__11807.cljs$core$IFn$_invoke$arity$9 ? fexpr__11807.cljs$core$IFn$_invoke$arity$9(a,b,c,d,e,f,g,h,i) : fexpr__11807.call(null,a,b,c,d,e,f,g,h,i));
});
var G__11840__11 = (function (self__,a,b,c,d,e,f,g,h,i,j){
var self__ = this;
var self____$1 = this;
var _ = self____$1;
var fexpr__11808 = (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));
return (fexpr__11808.cljs$core$IFn$_invoke$arity$10 ? fexpr__11808.cljs$core$IFn$_invoke$arity$10(a,b,c,d,e,f,g,h,i,j) : fexpr__11808.call(null,a,b,c,d,e,f,g,h,i,j));
});
var G__11840__12 = (function (self__,a,b,c,d,e,f,g,h,i,j,k){
var self__ = this;
var self____$1 = this;
var _ = self____$1;
var fexpr__11809 = (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));
return (fexpr__11809.cljs$core$IFn$_invoke$arity$11 ? fexpr__11809.cljs$core$IFn$_invoke$arity$11(a,b,c,d,e,f,g,h,i,j,k) : fexpr__11809.call(null,a,b,c,d,e,f,g,h,i,j,k));
});
var G__11840__13 = (function (self__,a,b,c,d,e,f,g,h,i,j,k,l){
var self__ = this;
var self____$1 = this;
var _ = self____$1;
var fexpr__11810 = (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));
return (fexpr__11810.cljs$core$IFn$_invoke$arity$12 ? fexpr__11810.cljs$core$IFn$_invoke$arity$12(a,b,c,d,e,f,g,h,i,j,k,l) : fexpr__11810.call(null,a,b,c,d,e,f,g,h,i,j,k,l));
});
var G__11840__14 = (function (self__,a,b,c,d,e,f,g,h,i,j,k,l,m){
var self__ = this;
var self____$1 = this;
var _ = self____$1;
var fexpr__11811 = (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));
return (fexpr__11811.cljs$core$IFn$_invoke$arity$13 ? fexpr__11811.cljs$core$IFn$_invoke$arity$13(a,b,c,d,e,f,g,h,i,j,k,l,m) : fexpr__11811.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m));
});
var G__11840__15 = (function (self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n){
var self__ = this;
var self____$1 = this;
var _ = self____$1;
var fexpr__11812 = (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));
return (fexpr__11812.cljs$core$IFn$_invoke$arity$14 ? fexpr__11812.cljs$core$IFn$_invoke$arity$14(a,b,c,d,e,f,g,h,i,j,k,l,m,n) : fexpr__11812.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n));
});
var G__11840__16 = (function (self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){
var self__ = this;
var self____$1 = this;
var _ = self____$1;
var fexpr__11813 = (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));
return (fexpr__11813.cljs$core$IFn$_invoke$arity$15 ? fexpr__11813.cljs$core$IFn$_invoke$arity$15(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) : fexpr__11813.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o));
});
var G__11840__17 = (function (self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){
var self__ = this;
var self____$1 = this;
var _ = self____$1;
var fexpr__11814 = (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));
return (fexpr__11814.cljs$core$IFn$_invoke$arity$16 ? fexpr__11814.cljs$core$IFn$_invoke$arity$16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) : fexpr__11814.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p));
});
var G__11840__18 = (function (self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){
var self__ = this;
var self____$1 = this;
var _ = self____$1;
var fexpr__11815 = (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));
return (fexpr__11815.cljs$core$IFn$_invoke$arity$17 ? fexpr__11815.cljs$core$IFn$_invoke$arity$17(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) : fexpr__11815.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q));
});
var G__11840__19 = (function (self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){
var self__ = this;
var self____$1 = this;
var _ = self____$1;
var fexpr__11816 = (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));
return (fexpr__11816.cljs$core$IFn$_invoke$arity$18 ? fexpr__11816.cljs$core$IFn$_invoke$arity$18(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) : fexpr__11816.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r));
});
var G__11840__20 = (function (self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){
var self__ = this;
var self____$1 = this;
var _ = self____$1;
var fexpr__11817 = (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));
return (fexpr__11817.cljs$core$IFn$_invoke$arity$19 ? fexpr__11817.cljs$core$IFn$_invoke$arity$19(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) : fexpr__11817.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s));
});
var G__11840__21 = (function (self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){
var self__ = this;
var self____$1 = this;
var _ = self____$1;
var fexpr__11818 = (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));
return (fexpr__11818.cljs$core$IFn$_invoke$arity$20 ? fexpr__11818.cljs$core$IFn$_invoke$arity$20(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) : fexpr__11818.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t));
});
var G__11840__22 = (function (self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest){
var self__ = this;
var self____$1 = this;
var _ = self____$1;
return cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic((self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null)),a,b,c,d,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest], 0));
});
G__11840 = function(self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest){
switch(arguments.length){
case 1:
return G__11840__1.call(this,self__);
case 2:
return G__11840__2.call(this,self__,a);
case 3:
return G__11840__3.call(this,self__,a,b);
case 4:
return G__11840__4.call(this,self__,a,b,c);
case 5:
return G__11840__5.call(this,self__,a,b,c,d);
case 6:
return G__11840__6.call(this,self__,a,b,c,d,e);
case 7:
return G__11840__7.call(this,self__,a,b,c,d,e,f);
case 8:
return G__11840__8.call(this,self__,a,b,c,d,e,f,g);
case 9:
return G__11840__9.call(this,self__,a,b,c,d,e,f,g,h);
case 10:
return G__11840__10.call(this,self__,a,b,c,d,e,f,g,h,i);
case 11:
return G__11840__11.call(this,self__,a,b,c,d,e,f,g,h,i,j);
case 12:
return G__11840__12.call(this,self__,a,b,c,d,e,f,g,h,i,j,k);
case 13:
return G__11840__13.call(this,self__,a,b,c,d,e,f,g,h,i,j,k,l);
case 14:
return G__11840__14.call(this,self__,a,b,c,d,e,f,g,h,i,j,k,l,m);
case 15:
return G__11840__15.call(this,self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n);
case 16:
return G__11840__16.call(this,self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o);
case 17:
return G__11840__17.call(this,self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p);
case 18:
return G__11840__18.call(this,self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q);
case 19:
return G__11840__19.call(this,self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r);
case 20:
return G__11840__20.call(this,self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s);
case 21:
return G__11840__21.call(this,self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t);
case 22:
return G__11840__22.call(this,self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__11840.cljs$core$IFn$_invoke$arity$1 = G__11840__1;
G__11840.cljs$core$IFn$_invoke$arity$2 = G__11840__2;
G__11840.cljs$core$IFn$_invoke$arity$3 = G__11840__3;
G__11840.cljs$core$IFn$_invoke$arity$4 = G__11840__4;
G__11840.cljs$core$IFn$_invoke$arity$5 = G__11840__5;
G__11840.cljs$core$IFn$_invoke$arity$6 = G__11840__6;
G__11840.cljs$core$IFn$_invoke$arity$7 = G__11840__7;
G__11840.cljs$core$IFn$_invoke$arity$8 = G__11840__8;
G__11840.cljs$core$IFn$_invoke$arity$9 = G__11840__9;
G__11840.cljs$core$IFn$_invoke$arity$10 = G__11840__10;
G__11840.cljs$core$IFn$_invoke$arity$11 = G__11840__11;
G__11840.cljs$core$IFn$_invoke$arity$12 = G__11840__12;
G__11840.cljs$core$IFn$_invoke$arity$13 = G__11840__13;
G__11840.cljs$core$IFn$_invoke$arity$14 = G__11840__14;
G__11840.cljs$core$IFn$_invoke$arity$15 = G__11840__15;
G__11840.cljs$core$IFn$_invoke$arity$16 = G__11840__16;
G__11840.cljs$core$IFn$_invoke$arity$17 = G__11840__17;
G__11840.cljs$core$IFn$_invoke$arity$18 = G__11840__18;
G__11840.cljs$core$IFn$_invoke$arity$19 = G__11840__19;
G__11840.cljs$core$IFn$_invoke$arity$20 = G__11840__20;
G__11840.cljs$core$IFn$_invoke$arity$21 = G__11840__21;
G__11840.cljs$core$IFn$_invoke$arity$22 = G__11840__22;
return G__11840;
})()
;
cljs.core.Var.prototype.apply = (function (self__,args11797){
var self__ = this;
var self____$1 = this;
return self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args11797)));
});
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$0 = (function (){
var self__ = this;
var _ = this;
var fexpr__11819 = (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));
return (fexpr__11819.cljs$core$IFn$_invoke$arity$0 ? fexpr__11819.cljs$core$IFn$_invoke$arity$0() : fexpr__11819.call(null));
});
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$1 = (function (a){
var self__ = this;
var _ = this;
var fexpr__11820 = (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));
return (fexpr__11820.cljs$core$IFn$_invoke$arity$1 ? fexpr__11820.cljs$core$IFn$_invoke$arity$1(a) : fexpr__11820.call(null,a));
});
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$2 = (function (a,b){
var self__ = this;
var _ = this;
var fexpr__11821 = (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));
return (fexpr__11821.cljs$core$IFn$_invoke$arity$2 ? fexpr__11821.cljs$core$IFn$_invoke$arity$2(a,b) : fexpr__11821.call(null,a,b));
});
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$3 = (function (a,b,c){
var self__ = this;
var _ = this;
var fexpr__11822 = (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));
return (fexpr__11822.cljs$core$IFn$_invoke$arity$3 ? fexpr__11822.cljs$core$IFn$_invoke$arity$3(a,b,c) : fexpr__11822.call(null,a,b,c));
});
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$4 = (function (a,b,c,d){
var self__ = this;
var _ = this;
var fexpr__11823 = (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));
return (fexpr__11823.cljs$core$IFn$_invoke$arity$4 ? fexpr__11823.cljs$core$IFn$_invoke$arity$4(a,b,c,d) : fexpr__11823.call(null,a,b,c,d));
});
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$5 = (function (a,b,c,d,e){
var self__ = this;
var _ = this;
var fexpr__11824 = (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));
return (fexpr__11824.cljs$core$IFn$_invoke$arity$5 ? fexpr__11824.cljs$core$IFn$_invoke$arity$5(a,b,c,d,e) : fexpr__11824.call(null,a,b,c,d,e));
});
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$6 = (function (a,b,c,d,e,f){
var self__ = this;
var _ = this;
var fexpr__11825 = (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));
return (fexpr__11825.cljs$core$IFn$_invoke$arity$6 ? fexpr__11825.cljs$core$IFn$_invoke$arity$6(a,b,c,d,e,f) : fexpr__11825.call(null,a,b,c,d,e,f));
});
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$7 = (function (a,b,c,d,e,f,g){
var self__ = this;
var _ = this;
var fexpr__11826 = (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));
return (fexpr__11826.cljs$core$IFn$_invoke$arity$7 ? fexpr__11826.cljs$core$IFn$_invoke$arity$7(a,b,c,d,e,f,g) : fexpr__11826.call(null,a,b,c,d,e,f,g));
});
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$8 = (function (a,b,c,d,e,f,g,h){
var self__ = this;
var _ = this;
var fexpr__11827 = (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));
return (fexpr__11827.cljs$core$IFn$_invoke$arity$8 ? fexpr__11827.cljs$core$IFn$_invoke$arity$8(a,b,c,d,e,f,g,h) : fexpr__11827.call(null,a,b,c,d,e,f,g,h));
});
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$9 = (function (a,b,c,d,e,f,g,h,i){
var self__ = this;
var _ = this;
var fexpr__11828 = (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));
return (fexpr__11828.cljs$core$IFn$_invoke$arity$9 ? fexpr__11828.cljs$core$IFn$_invoke$arity$9(a,b,c,d,e,f,g,h,i) : fexpr__11828.call(null,a,b,c,d,e,f,g,h,i));
});
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$10 = (function (a,b,c,d,e,f,g,h,i,j){
var self__ = this;
var _ = this;
var fexpr__11829 = (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));
return (fexpr__11829.cljs$core$IFn$_invoke$arity$10 ? fexpr__11829.cljs$core$IFn$_invoke$arity$10(a,b,c,d,e,f,g,h,i,j) : fexpr__11829.call(null,a,b,c,d,e,f,g,h,i,j));
});
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$11 = (function (a,b,c,d,e,f,g,h,i,j,k){
var self__ = this;
var _ = this;
var fexpr__11830 = (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));
return (fexpr__11830.cljs$core$IFn$_invoke$arity$11 ? fexpr__11830.cljs$core$IFn$_invoke$arity$11(a,b,c,d,e,f,g,h,i,j,k) : fexpr__11830.call(null,a,b,c,d,e,f,g,h,i,j,k));
});
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$12 = (function (a,b,c,d,e,f,g,h,i,j,k,l){
var self__ = this;
var _ = this;
var fexpr__11831 = (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));
return (fexpr__11831.cljs$core$IFn$_invoke$arity$12 ? fexpr__11831.cljs$core$IFn$_invoke$arity$12(a,b,c,d,e,f,g,h,i,j,k,l) : fexpr__11831.call(null,a,b,c,d,e,f,g,h,i,j,k,l));
});
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$13 = (function (a,b,c,d,e,f,g,h,i,j,k,l,m){
var self__ = this;
var _ = this;
var fexpr__11832 = (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));
return (fexpr__11832.cljs$core$IFn$_invoke$arity$13 ? fexpr__11832.cljs$core$IFn$_invoke$arity$13(a,b,c,d,e,f,g,h,i,j,k,l,m) : fexpr__11832.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m));
});
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$14 = (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n){
var self__ = this;
var _ = this;
var fexpr__11833 = (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));
return (fexpr__11833.cljs$core$IFn$_invoke$arity$14 ? fexpr__11833.cljs$core$IFn$_invoke$arity$14(a,b,c,d,e,f,g,h,i,j,k,l,m,n) : fexpr__11833.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n));
});
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$15 = (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){
var self__ = this;
var _ = this;
var fexpr__11834 = (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));
return (fexpr__11834.cljs$core$IFn$_invoke$arity$15 ? fexpr__11834.cljs$core$IFn$_invoke$arity$15(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) : fexpr__11834.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o));
});
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$16 = (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){
var self__ = this;
var _ = this;
var fexpr__11835 = (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));
return (fexpr__11835.cljs$core$IFn$_invoke$arity$16 ? fexpr__11835.cljs$core$IFn$_invoke$arity$16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) : fexpr__11835.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p));
});
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$17 = (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){
var self__ = this;
var _ = this;
var fexpr__11836 = (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));
return (fexpr__11836.cljs$core$IFn$_invoke$arity$17 ? fexpr__11836.cljs$core$IFn$_invoke$arity$17(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) : fexpr__11836.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q));
});
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$18 = (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){
var self__ = this;
var _ = this;
var fexpr__11837 = (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));
return (fexpr__11837.cljs$core$IFn$_invoke$arity$18 ? fexpr__11837.cljs$core$IFn$_invoke$arity$18(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) : fexpr__11837.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r));
});
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$19 = (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){
var self__ = this;
var _ = this;
var fexpr__11838 = (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));
return (fexpr__11838.cljs$core$IFn$_invoke$arity$19 ? fexpr__11838.cljs$core$IFn$_invoke$arity$19(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) : fexpr__11838.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s));
});
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$20 = (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){
var self__ = this;
var _ = this;
var fexpr__11839 = (self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null));
return (fexpr__11839.cljs$core$IFn$_invoke$arity$20 ? fexpr__11839.cljs$core$IFn$_invoke$arity$20(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) : fexpr__11839.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t));
});
cljs.core.Var.prototype.cljs$core$IFn$_invoke$arity$21 = (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest){
var self__ = this;
var _ = this;
return cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic((self__.val.cljs$core$IFn$_invoke$arity$0 ? self__.val.cljs$core$IFn$_invoke$arity$0() : self__.val.call(null)),a,b,c,d,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest], 0));
});
cljs.core.Var.getBasis = (function (){
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$val,cljs.core.cst$sym$sym,cljs.core.cst$sym$_meta], null);
});
cljs.core.Var.cljs$lang$type = true;
cljs.core.Var.cljs$lang$ctorStr = "cljs.core/Var";
cljs.core.Var.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/Var");
});
cljs.core.__GT_Var = (function cljs$core$__GT_Var(val,sym,_meta){
return (new cljs.core.Var(val,sym,_meta));
});
/**
* Returns true if v is of type cljs.core.Var
*/
cljs.core.var_QMARK_ = (function cljs$core$var_QMARK_(v){
return (v instanceof cljs.core.Var);
});
/**
* Return true if x implements IIterable protocol.
*/
cljs.core.iterable_QMARK_ = (function cljs$core$iterable_QMARK_(x){
if(!((x == null))){
if(((x.cljs$lang$protocol_mask$partition1$ & (131072))) || ((cljs.core.PROTOCOL_SENTINEL === x.cljs$core$IIterable$))){
return true;
} else {
if((!x.cljs$lang$protocol_mask$partition1$)){
return cljs.core.native_satisfies_QMARK_(cljs.core.IIterable,x);
} else {
return false;
}
}
} else {
return cljs.core.native_satisfies_QMARK_(cljs.core.IIterable,x);
}
});
/**
* Clone the supplied value which must implement ICloneable.
*/
cljs.core.clone = (function cljs$core$clone(value){
return cljs.core._clone(value);
});
/**
* Return true if x implements ICloneable protocol.
*/
cljs.core.cloneable_QMARK_ = (function cljs$core$cloneable_QMARK_(value){
if(!((value == null))){
if(((value.cljs$lang$protocol_mask$partition1$ & (8192))) || ((cljs.core.PROTOCOL_SENTINEL === value.cljs$core$ICloneable$))){
return true;
} else {
if((!value.cljs$lang$protocol_mask$partition1$)){
return cljs.core.native_satisfies_QMARK_(cljs.core.ICloneable,value);
} else {
return false;
}
}
} else {
return cljs.core.native_satisfies_QMARK_(cljs.core.ICloneable,value);
}
});
/**
* Returns a seq on the collection. If the collection is
* empty, returns nil. (seq nil) returns nil. seq also works on
* Strings.
*/
cljs.core.seq = (function cljs$core$seq(coll){
if((coll == null)){
return null;
} else {
if(((!((coll == null)))?((((coll.cljs$lang$protocol_mask$partition0$ & (8388608))) || ((cljs.core.PROTOCOL_SENTINEL === coll.cljs$core$ISeqable$)))?true:false):false)){
return coll.cljs$core$ISeqable$_seq$arity$1(null);
} else {
if(cljs.core.array_QMARK_(coll)){
if((coll.length === (0))){
return null;
} else {
return (new cljs.core.IndexedSeq(coll,(0),null));
}
} else {
if(typeof coll === 'string'){
if((coll.length === (0))){
return null;
} else {
return (new cljs.core.IndexedSeq(coll,(0),null));
}
} else {
if(cljs.core.native_satisfies_QMARK_(cljs.core.ISeqable,coll)){
return cljs.core._seq(coll);
} else {
throw (new Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1(coll)," is not ISeqable"].join('')));
}
}
}
}
}
});
/**
* Returns the first item in the collection. Calls seq on its
* argument. If coll is nil, returns nil.
*/
cljs.core.first = (function cljs$core$first(coll){
if((coll == null)){
return null;
} else {
if(((!((coll == null)))?((((coll.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === coll.cljs$core$ISeq$)))?true:false):false)){
return coll.cljs$core$ISeq$_first$arity$1(null);
} else {
var s = cljs.core.seq(coll);
if((s == null)){
return null;
} else {
return cljs.core._first(s);
}
}
}
});
/**
* Returns a possibly empty seq of the items after the first. Calls seq on its
* argument.
*/
cljs.core.rest = (function cljs$core$rest(coll){
if(!((coll == null))){
if(((!((coll == null)))?((((coll.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === coll.cljs$core$ISeq$)))?true:false):false)){
return coll.cljs$core$ISeq$_rest$arity$1(null);
} else {
var s = cljs.core.seq(coll);
if(s){
return cljs.core._rest(s);
} else {
return cljs.core.List.EMPTY;
}
}
} else {
return cljs.core.List.EMPTY;
}
});
/**
* Returns a seq of the items after the first. Calls seq on its
* argument. If there are no more items, returns nil
*/
cljs.core.next = (function cljs$core$next(coll){
if((coll == null)){
return null;
} else {
if(((!((coll == null)))?((((coll.cljs$lang$protocol_mask$partition0$ & (128))) || ((cljs.core.PROTOCOL_SENTINEL === coll.cljs$core$INext$)))?true:false):false)){
return coll.cljs$core$INext$_next$arity$1(null);
} else {
return cljs.core.seq(cljs.core.rest(coll));
}
}
});
/**
* Equality. Returns true if x equals y, false if not. Compares
* numbers and collections in a type-independent manner. Clojure's immutable data
* structures define -equiv (and thus =) as a value, not an identity,
* comparison.
*/
cljs.core._EQ_ = (function cljs$core$_EQ_(var_args){
var G__11851 = arguments.length;
switch (G__11851) {
case 1:
return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___11853 = arguments.length;
var i__10062__auto___11854 = (0);
while(true){
if((i__10062__auto___11854 < len__10061__auto___11853)){
args_arr__10084__auto__.push((arguments[i__10062__auto___11854]));
var G__11855 = (i__10062__auto___11854 + (1));
i__10062__auto___11854 = G__11855;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((2)),(0),null));
return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__10085__auto__);
}
});
cljs.core._EQ_.cljs$core$IFn$_invoke$arity$1 = (function (x){
return true;
});
cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2 = (function (x,y){
if((x == null)){
return (y == null);
} else {
return ((x === y)) || (cljs.core._equiv(x,y));
}
});
cljs.core._EQ_.cljs$core$IFn$_invoke$arity$variadic = (function (x,y,more){
while(true){
if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(x,y)){
if(cljs.core.next(more)){
var G__11856 = y;
var G__11857 = cljs.core.first(more);
var G__11858 = cljs.core.next(more);
x = G__11856;
y = G__11857;
more = G__11858;
continue;
} else {
return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(y,cljs.core.first(more));
}
} else {
return false;
}
break;
}
});
cljs.core._EQ_.cljs$lang$applyTo = (function (seq11848){
var G__11849 = cljs.core.first(seq11848);
var seq11848__$1 = cljs.core.next(seq11848);
var G__11850 = cljs.core.first(seq11848__$1);
var seq11848__$2 = cljs.core.next(seq11848__$1);
return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$variadic(G__11849,G__11850,seq11848__$2);
});
cljs.core._EQ_.cljs$lang$maxFixedArity = (2);
/**
* @constructor
*/
cljs.core.ES6Iterator = (function (s){
this.s = s;
});
cljs.core.ES6Iterator.prototype.next = (function (){
var self__ = this;
var _ = this;
if(!((self__.s == null))){
var x = cljs.core.first(self__.s);
self__.s = cljs.core.next(self__.s);
return ({"value": x, "done": false});
} else {
return ({"value": null, "done": true});
}
});
cljs.core.ES6Iterator.getBasis = (function (){
return new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(cljs.core.cst$sym$s,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null))], null);
});
cljs.core.ES6Iterator.cljs$lang$type = true;
cljs.core.ES6Iterator.cljs$lang$ctorStr = "cljs.core/ES6Iterator";
cljs.core.ES6Iterator.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/ES6Iterator");
});
cljs.core.__GT_ES6Iterator = (function cljs$core$__GT_ES6Iterator(s){
return (new cljs.core.ES6Iterator(s));
});
/**
* EXPERIMENTAL: Return a ES2015 compatible iterator for coll.
*/
cljs.core.es6_iterator = (function cljs$core$es6_iterator(coll){
return (new cljs.core.ES6Iterator(cljs.core.seq(coll)));
});
/**
* @constructor
* @implements {cljs.core.ISeq}
* @implements {cljs.core.ISeqable}
*/
cljs.core.ES6IteratorSeq = (function (value,iter,_rest){
this.value = value;
this.iter = iter;
this._rest = _rest;
this.cljs$lang$protocol_mask$partition0$ = 8388672;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
cljs.core.ES6IteratorSeq.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (this$){
var self__ = this;
var this$__$1 = this;
return this$__$1;
});
cljs.core.ES6IteratorSeq.prototype.cljs$core$ISeq$_first$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return self__.value;
});
cljs.core.ES6IteratorSeq.prototype.cljs$core$ISeq$_rest$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
if((self__._rest == null)){
self__._rest = cljs.core.es6_iterator_seq(self__.iter);
} else {
}
return self__._rest;
});
cljs.core.ES6IteratorSeq.getBasis = (function (){
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$value,cljs.core.cst$sym$iter,cljs.core.with_meta(cljs.core.cst$sym$_rest,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null))], null);
});
cljs.core.ES6IteratorSeq.cljs$lang$type = true;
cljs.core.ES6IteratorSeq.cljs$lang$ctorStr = "cljs.core/ES6IteratorSeq";
cljs.core.ES6IteratorSeq.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/ES6IteratorSeq");
});
cljs.core.__GT_ES6IteratorSeq = (function cljs$core$__GT_ES6IteratorSeq(value,iter,_rest){
return (new cljs.core.ES6IteratorSeq(value,iter,_rest));
});
/**
* EXPERIMENTAL: Given an ES2015 compatible iterator return a seq.
*/
cljs.core.es6_iterator_seq = (function cljs$core$es6_iterator_seq(iter){
var v = iter.next();
if(cljs.core.truth_(v.done)){
return cljs.core.List.EMPTY;
} else {
return (new cljs.core.ES6IteratorSeq(v.value,iter,null));
}
});
/**
* Mix final collection hash for ordered or unordered collections.
* hash-basis is the combined collection hash, count is the number
* of elements included in the basis. Note this is the hash code
* consistent with =, different from .hashCode.
* See http://clojure.org/data_structures#hash for full algorithms.
*/
cljs.core.mix_collection_hash = (function cljs$core$mix_collection_hash(hash_basis,count){
var h1 = cljs.core.m3_seed;
var k1 = cljs.core.m3_mix_K1(hash_basis);
var h1__$1 = cljs.core.m3_mix_H1(h1,k1);
return cljs.core.m3_fmix(h1__$1,count);
});
/**
* Returns the hash code, consistent with =, for an external ordered
* collection implementing Iterable.
* See http://clojure.org/data_structures#hash for full algorithms.
*/
cljs.core.hash_ordered_coll = (function cljs$core$hash_ordered_coll(coll){
var n = (0);
var hash_code = (1);
var coll__$1 = cljs.core.seq(coll);
while(true){
if(!((coll__$1 == null))){
var G__11859 = (n + (1));
var G__11860 = ((cljs.core.imul((31),hash_code) + cljs.core.hash(cljs.core.first(coll__$1))) | (0));
var G__11861 = cljs.core.next(coll__$1);
n = G__11859;
hash_code = G__11860;
coll__$1 = G__11861;
continue;
} else {
return cljs.core.mix_collection_hash(hash_code,n);
}
break;
}
});
cljs.core.empty_ordered_hash = cljs.core.mix_collection_hash((1),(0));
/**
* Returns the hash code, consistent with =, for an external unordered
* collection implementing Iterable. For maps, the iterator should
* return map entries whose hash is computed as
* (hash-ordered-coll [k v]).
* See http://clojure.org/data_structures#hash for full algorithms.
*/
cljs.core.hash_unordered_coll = (function cljs$core$hash_unordered_coll(coll){
var n = (0);
var hash_code = (0);
var coll__$1 = cljs.core.seq(coll);
while(true){
if(!((coll__$1 == null))){
var G__11862 = (n + (1));
var G__11863 = ((hash_code + cljs.core.hash(cljs.core.first(coll__$1))) | (0));
var G__11864 = cljs.core.next(coll__$1);
n = G__11862;
hash_code = G__11863;
coll__$1 = G__11864;
continue;
} else {
return cljs.core.mix_collection_hash(hash_code,n);
}
break;
}
});
cljs.core.empty_unordered_hash = cljs.core.mix_collection_hash((0),(0));
goog.object.set(cljs.core.ICounted,"null",true);
var G__11865_11868 = cljs.core._count;
var G__11866_11869 = "null";
var G__11867_11870 = ((function (G__11865_11868,G__11866_11869){
return (function (_){
return (0);
});})(G__11865_11868,G__11866_11869))
;
goog.object.set(G__11865_11868,G__11866_11869,G__11867_11870);
Date.prototype.cljs$core$IEquiv$ = cljs.core.PROTOCOL_SENTINEL;
Date.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (o,other){
var o__$1 = this;
return ((other instanceof Date)) && ((o__$1.valueOf() === other.valueOf()));
});
Date.prototype.cljs$core$IComparable$ = cljs.core.PROTOCOL_SENTINEL;
Date.prototype.cljs$core$IComparable$_compare$arity$2 = (function (this$,other){
var this$__$1 = this;
if((other instanceof Date)){
var G__11871 = this$__$1.valueOf();
var G__11872 = other.valueOf();
return goog.array.defaultCompare(G__11871,G__11872);
} else {
throw (new Error(["Cannot compare ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(this$__$1)," to ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(other)].join('')));
}
});
/**
* @interface
*/
cljs.core.Inst = function(){};
cljs.core.inst_ms_STAR_ = (function cljs$core$inst_ms_STAR_(inst){
if((!((inst == null))) && (!((inst.cljs$core$Inst$inst_ms_STAR_$arity$1 == null)))){
return inst.cljs$core$Inst$inst_ms_STAR_$arity$1(inst);
} else {
var x__9515__auto__ = (((inst == null))?null:inst);
var m__9516__auto__ = (cljs.core.inst_ms_STAR_[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$1(inst) : m__9516__auto__.call(null,inst));
} else {
var m__9516__auto____$1 = (cljs.core.inst_ms_STAR_["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1(inst) : m__9516__auto____$1.call(null,inst));
} else {
throw cljs.core.missing_protocol("Inst.inst-ms*",inst);
}
}
}
});
Date.prototype.cljs$core$Inst$ = cljs.core.PROTOCOL_SENTINEL;
Date.prototype.cljs$core$Inst$inst_ms_STAR_$arity$1 = (function (inst){
var inst__$1 = this;
return inst__$1.getTime();
});
/**
* Return the number of milliseconds since January 1, 1970, 00:00:00 GMT
*/
cljs.core.inst_ms = (function cljs$core$inst_ms(inst){
return cljs.core.inst_ms_STAR_(inst);
});
/**
* Return true if x satisfies Inst
*/
cljs.core.inst_QMARK_ = (function cljs$core$inst_QMARK_(x){
if(!((x == null))){
if((false) || ((cljs.core.PROTOCOL_SENTINEL === x.cljs$core$Inst$))){
return true;
} else {
if((!x.cljs$lang$protocol_mask$partition$)){
return cljs.core.native_satisfies_QMARK_(cljs.core.Inst,x);
} else {
return false;
}
}
} else {
return cljs.core.native_satisfies_QMARK_(cljs.core.Inst,x);
}
});
goog.object.set(cljs.core.IEquiv,"number",true);
var G__11874_11877 = cljs.core._equiv;
var G__11875_11878 = "number";
var G__11876_11879 = ((function (G__11874_11877,G__11875_11878){
return (function (x,o){
return (x === o);
});})(G__11874_11877,G__11875_11878))
;
goog.object.set(G__11874_11877,G__11875_11878,G__11876_11879);
goog.object.set(cljs.core.Fn,"function",true);
goog.object.set(cljs.core.IMeta,"function",true);
var G__11880_11883 = cljs.core._meta;
var G__11881_11884 = "function";
var G__11882_11885 = ((function (G__11880_11883,G__11881_11884){
return (function (_){
return null;
});})(G__11880_11883,G__11881_11884))
;
goog.object.set(G__11880_11883,G__11881_11884,G__11882_11885);
goog.object.set(cljs.core.IHash,"_",true);
var G__11886_11889 = cljs.core._hash;
var G__11887_11890 = "_";
var G__11888_11891 = ((function (G__11886_11889,G__11887_11890){
return (function (o){
return goog.getUid(o);
});})(G__11886_11889,G__11887_11890))
;
goog.object.set(G__11886_11889,G__11887_11890,G__11888_11891);
/**
* Returns a number one greater than num.
*/
cljs.core.inc = (function cljs$core$inc(x){
return (x + (1));
});
/**
* @constructor
* @implements {cljs.core.IDeref}
*/
cljs.core.Reduced = (function (val){
this.val = val;
this.cljs$lang$protocol_mask$partition0$ = 32768;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
cljs.core.Reduced.prototype.cljs$core$IDeref$_deref$arity$1 = (function (o){
var self__ = this;
var o__$1 = this;
return self__.val;
});
cljs.core.Reduced.getBasis = (function (){
return new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$val], null);
});
cljs.core.Reduced.cljs$lang$type = true;
cljs.core.Reduced.cljs$lang$ctorStr = "cljs.core/Reduced";
cljs.core.Reduced.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/Reduced");
});
cljs.core.__GT_Reduced = (function cljs$core$__GT_Reduced(val){
return (new cljs.core.Reduced(val));
});
/**
* Wraps x in a way such that a reduce will terminate with the value x
*/
cljs.core.reduced = (function cljs$core$reduced(x){
return (new cljs.core.Reduced(x));
});
/**
* Returns true if x is the result of a call to reduced
*/
cljs.core.reduced_QMARK_ = (function cljs$core$reduced_QMARK_(r){
return (r instanceof cljs.core.Reduced);
});
/**
* If x is already reduced?, returns it, else returns (reduced x)
*/
cljs.core.ensure_reduced = (function cljs$core$ensure_reduced(x){
if(cljs.core.reduced_QMARK_(x)){
return x;
} else {
return cljs.core.reduced(x);
}
});
/**
* If x is reduced?, returns (deref x), else returns x
*/
cljs.core.unreduced = (function cljs$core$unreduced(x){
if(cljs.core.reduced_QMARK_(x)){
return cljs.core.deref(x);
} else {
return x;
}
});
/**
* Also reader macro: @var/@atom/@delay. Returns the
* most-recently-committed value of ref. When applied to a var
* or atom, returns its current state. When applied to a delay, forces
* it if not already forced. See also - realized?.
*/
cljs.core.deref = (function cljs$core$deref(o){
return cljs.core._deref(o);
});
/**
* Accepts any collection which satisfies the ICount and IIndexed protocols and
* reduces them without incurring seq initialization
*/
cljs.core.ci_reduce = (function cljs$core$ci_reduce(var_args){
var G__11893 = arguments.length;
switch (G__11893) {
case 2:
return cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
case 4:
return cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2 = (function (cicoll,f){
var cnt = cljs.core._count(cicoll);
if((cnt === (0))){
return (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));
} else {
var val = cljs.core._nth.cljs$core$IFn$_invoke$arity$2(cicoll,(0));
var n = (1);
while(true){
if((n < cnt)){
var nval = (function (){var G__11894 = val;
var G__11895 = cljs.core._nth.cljs$core$IFn$_invoke$arity$2(cicoll,n);
return (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__11894,G__11895) : f.call(null,G__11894,G__11895));
})();
if(cljs.core.reduced_QMARK_(nval)){
return cljs.core.deref(nval);
} else {
var G__11901 = nval;
var G__11902 = (n + (1));
val = G__11901;
n = G__11902;
continue;
}
} else {
return val;
}
break;
}
}
});
cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3 = (function (cicoll,f,val){
var cnt = cljs.core._count(cicoll);
var val__$1 = val;
var n = (0);
while(true){
if((n < cnt)){
var nval = (function (){var G__11896 = val__$1;
var G__11897 = cljs.core._nth.cljs$core$IFn$_invoke$arity$2(cicoll,n);
return (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__11896,G__11897) : f.call(null,G__11896,G__11897));
})();
if(cljs.core.reduced_QMARK_(nval)){
return cljs.core.deref(nval);
} else {
var G__11903 = nval;
var G__11904 = (n + (1));
val__$1 = G__11903;
n = G__11904;
continue;
}
} else {
return val__$1;
}
break;
}
});
cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$4 = (function (cicoll,f,val,idx){
var cnt = cljs.core._count(cicoll);
var val__$1 = val;
var n = idx;
while(true){
if((n < cnt)){
var nval = (function (){var G__11898 = val__$1;
var G__11899 = cljs.core._nth.cljs$core$IFn$_invoke$arity$2(cicoll,n);
return (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__11898,G__11899) : f.call(null,G__11898,G__11899));
})();
if(cljs.core.reduced_QMARK_(nval)){
return cljs.core.deref(nval);
} else {
var G__11905 = nval;
var G__11906 = (n + (1));
val__$1 = G__11905;
n = G__11906;
continue;
}
} else {
return val__$1;
}
break;
}
});
cljs.core.ci_reduce.cljs$lang$maxFixedArity = 4;
cljs.core.array_reduce = (function cljs$core$array_reduce(var_args){
var G__11908 = arguments.length;
switch (G__11908) {
case 2:
return cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
case 4:
return cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$2 = (function (arr,f){
var cnt = arr.length;
if((arr.length === (0))){
return (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));
} else {
var val = (arr[(0)]);
var n = (1);
while(true){
if((n < cnt)){
var nval = (function (){var G__11909 = val;
var G__11910 = (arr[n]);
return (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__11909,G__11910) : f.call(null,G__11909,G__11910));
})();
if(cljs.core.reduced_QMARK_(nval)){
return cljs.core.deref(nval);
} else {
var G__11916 = nval;
var G__11917 = (n + (1));
val = G__11916;
n = G__11917;
continue;
}
} else {
return val;
}
break;
}
}
});
cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$3 = (function (arr,f,val){
var cnt = arr.length;
var val__$1 = val;
var n = (0);
while(true){
if((n < cnt)){
var nval = (function (){var G__11911 = val__$1;
var G__11912 = (arr[n]);
return (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__11911,G__11912) : f.call(null,G__11911,G__11912));
})();
if(cljs.core.reduced_QMARK_(nval)){
return cljs.core.deref(nval);
} else {
var G__11918 = nval;
var G__11919 = (n + (1));
val__$1 = G__11918;
n = G__11919;
continue;
}
} else {
return val__$1;
}
break;
}
});
cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$4 = (function (arr,f,val,idx){
var cnt = arr.length;
var val__$1 = val;
var n = idx;
while(true){
if((n < cnt)){
var nval = (function (){var G__11913 = val__$1;
var G__11914 = (arr[n]);
return (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__11913,G__11914) : f.call(null,G__11913,G__11914));
})();
if(cljs.core.reduced_QMARK_(nval)){
return cljs.core.deref(nval);
} else {
var G__11920 = nval;
var G__11921 = (n + (1));
val__$1 = G__11920;
n = G__11921;
continue;
}
} else {
return val__$1;
}
break;
}
});
cljs.core.array_reduce.cljs$lang$maxFixedArity = 4;
/**
* Returns true if coll implements count in constant time
*/
cljs.core.counted_QMARK_ = (function cljs$core$counted_QMARK_(x){
if(!((x == null))){
if(((x.cljs$lang$protocol_mask$partition0$ & (2))) || ((cljs.core.PROTOCOL_SENTINEL === x.cljs$core$ICounted$))){
return true;
} else {
if((!x.cljs$lang$protocol_mask$partition0$)){
return cljs.core.native_satisfies_QMARK_(cljs.core.ICounted,x);
} else {
return false;
}
}
} else {
return cljs.core.native_satisfies_QMARK_(cljs.core.ICounted,x);
}
});
/**
* Returns true if coll implements nth in constant time
*/
cljs.core.indexed_QMARK_ = (function cljs$core$indexed_QMARK_(x){
if(!((x == null))){
if(((x.cljs$lang$protocol_mask$partition0$ & (16))) || ((cljs.core.PROTOCOL_SENTINEL === x.cljs$core$IIndexed$))){
return true;
} else {
if((!x.cljs$lang$protocol_mask$partition0$)){
return cljs.core.native_satisfies_QMARK_(cljs.core.IIndexed,x);
} else {
return false;
}
}
} else {
return cljs.core.native_satisfies_QMARK_(cljs.core.IIndexed,x);
}
});
cljs.core._indexOf = (function cljs$core$_indexOf(var_args){
var G__11925 = arguments.length;
switch (G__11925) {
case 2:
return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core._indexOf.cljs$core$IFn$_invoke$arity$2 = (function (coll,x){
return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));
});
cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3 = (function (coll,x,start){
var len = cljs.core.count(coll);
if((start >= len)){
return (-1);
} else {
var idx = (((start > (0)))?start:(((start < (0)))?(function (){var x__9134__auto__ = (0);
var y__9135__auto__ = (start + len);
return ((x__9134__auto__ > y__9135__auto__) ? x__9134__auto__ : y__9135__auto__);
})():start
));
while(true){
if((idx < len)){
if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(coll,idx),x)){
return idx;
} else {
var G__11927 = (idx + (1));
idx = G__11927;
continue;
}
} else {
return (-1);
}
break;
}
}
});
cljs.core._indexOf.cljs$lang$maxFixedArity = 3;
cljs.core._lastIndexOf = (function cljs$core$_lastIndexOf(var_args){
var G__11929 = arguments.length;
switch (G__11929) {
case 2:
return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$2 = (function (coll,x){
return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));
});
cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3 = (function (coll,x,start){
var len = cljs.core.count(coll);
if((len === (0))){
return (-1);
} else {
var idx = (((start > (0)))?(function (){var x__9141__auto__ = (len - (1));
var y__9142__auto__ = start;
return ((x__9141__auto__ < y__9142__auto__) ? x__9141__auto__ : y__9142__auto__);
})():(((start < (0)))?(len + start):start
));
while(true){
if((idx >= (0))){
if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(coll,idx),x)){
return idx;
} else {
var G__11931 = (idx - (1));
idx = G__11931;
continue;
}
} else {
return (-1);
}
break;
}
}
});
cljs.core._lastIndexOf.cljs$lang$maxFixedArity = 3;
/**
* @constructor
*/
cljs.core.IndexedSeqIterator = (function (arr,i){
this.arr = arr;
this.i = i;
});
cljs.core.IndexedSeqIterator.prototype.hasNext = (function (){
var self__ = this;
var _ = this;
return (self__.i < self__.arr.length);
});
cljs.core.IndexedSeqIterator.prototype.next = (function (){
var self__ = this;
var _ = this;
var ret = (self__.arr[self__.i]);
self__.i = (self__.i + (1));
return ret;
});
cljs.core.IndexedSeqIterator.getBasis = (function (){
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$arr,cljs.core.with_meta(cljs.core.cst$sym$i,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null))], null);
});
cljs.core.IndexedSeqIterator.cljs$lang$type = true;
cljs.core.IndexedSeqIterator.cljs$lang$ctorStr = "cljs.core/IndexedSeqIterator";
cljs.core.IndexedSeqIterator.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/IndexedSeqIterator");
});
cljs.core.__GT_IndexedSeqIterator = (function cljs$core$__GT_IndexedSeqIterator(arr,i){
return (new cljs.core.IndexedSeqIterator(arr,i));
});
/**
* @constructor
* @implements {cljs.core.IIndexed}
* @implements {cljs.core.IReversible}
* @implements {cljs.core.IEquiv}
* @implements {cljs.core.IHash}
* @implements {cljs.core.ASeq}
* @implements {cljs.core.ICollection}
* @implements {cljs.core.IEmptyableCollection}
* @implements {cljs.core.ICounted}
* @implements {cljs.core.ISeq}
* @implements {cljs.core.INext}
* @implements {cljs.core.ISeqable}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.ICloneable}
* @implements {cljs.core.IIterable}
* @implements {cljs.core.ISequential}
* @implements {cljs.core.IWithMeta}
* @implements {cljs.core.IReduce}
*/
cljs.core.IndexedSeq = (function (arr,i,meta){
this.arr = arr;
this.i = i;
this.meta = meta;
this.cljs$lang$protocol_mask$partition0$ = 166592766;
this.cljs$lang$protocol_mask$partition1$ = 139264;
});
cljs.core.IndexedSeq.prototype.toString = (function (){
var self__ = this;
var coll = this;
return cljs.core.pr_str_STAR_(coll);
});
cljs.core.IndexedSeq.prototype.equiv = (function (other){
var self__ = this;
var this$ = this;
return this$.cljs$core$IEquiv$_equiv$arity$2(null,other);
});
cljs.core.IndexedSeq.prototype.indexOf = (function() {
var G__11932 = null;
var G__11932__1 = (function (x){
var self__ = this;
var coll = this;
return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));
});
var G__11932__2 = (function (x,start){
var self__ = this;
var coll = this;
return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);
});
G__11932 = function(x,start){
switch(arguments.length){
case 1:
return G__11932__1.call(this,x);
case 2:
return G__11932__2.call(this,x,start);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__11932.cljs$core$IFn$_invoke$arity$1 = G__11932__1;
G__11932.cljs$core$IFn$_invoke$arity$2 = G__11932__2;
return G__11932;
})()
;
cljs.core.IndexedSeq.prototype.lastIndexOf = (function() {
var G__11933 = null;
var G__11933__1 = (function (x){
var self__ = this;
var coll = this;
return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));
});
var G__11933__2 = (function (x,start){
var self__ = this;
var coll = this;
return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);
});
G__11933 = function(x,start){
switch(arguments.length){
case 1:
return G__11933__1.call(this,x);
case 2:
return G__11933__2.call(this,x,start);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__11933.cljs$core$IFn$_invoke$arity$1 = G__11933__1;
G__11933.cljs$core$IFn$_invoke$arity$2 = G__11933__2;
return G__11933;
})()
;
cljs.core.IndexedSeq.prototype.cljs$core$IIndexed$_nth$arity$2 = (function (coll,n){
var self__ = this;
var coll__$1 = this;
var i__$1 = (n + self__.i);
if((((0) <= i__$1)) && ((i__$1 < self__.arr.length))){
return (self__.arr[i__$1]);
} else {
throw (new Error("Index out of bounds"));
}
});
cljs.core.IndexedSeq.prototype.cljs$core$IIndexed$_nth$arity$3 = (function (coll,n,not_found){
var self__ = this;
var coll__$1 = this;
var i__$1 = (n + self__.i);
if((((0) <= i__$1)) && ((i__$1 < self__.arr.length))){
return (self__.arr[i__$1]);
} else {
return not_found;
}
});
cljs.core.IndexedSeq.prototype.cljs$core$IIterable$_iterator$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return (new cljs.core.IndexedSeqIterator(self__.arr,self__.i));
});
cljs.core.IndexedSeq.prototype.cljs$core$IMeta$_meta$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return self__.meta;
});
cljs.core.IndexedSeq.prototype.cljs$core$ICloneable$_clone$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return (new cljs.core.IndexedSeq(self__.arr,self__.i,self__.meta));
});
cljs.core.IndexedSeq.prototype.cljs$core$INext$_next$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
if(((self__.i + (1)) < self__.arr.length)){
return (new cljs.core.IndexedSeq(self__.arr,(self__.i + (1)),null));
} else {
return null;
}
});
cljs.core.IndexedSeq.prototype.cljs$core$ICounted$_count$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
var x__9134__auto__ = (0);
var y__9135__auto__ = (self__.arr.length - self__.i);
return ((x__9134__auto__ > y__9135__auto__) ? x__9134__auto__ : y__9135__auto__);
});
cljs.core.IndexedSeq.prototype.cljs$core$IReversible$_rseq$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
var c = coll__$1.cljs$core$ICounted$_count$arity$1(null);
if((c > (0))){
return (new cljs.core.RSeq(coll__$1,(c - (1)),null));
} else {
return null;
}
});
cljs.core.IndexedSeq.prototype.cljs$core$IHash$_hash$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return cljs.core.hash_ordered_coll(coll__$1);
});
cljs.core.IndexedSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (coll,other){
var self__ = this;
var coll__$1 = this;
return cljs.core.equiv_sequential(coll__$1,other);
});
cljs.core.IndexedSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return cljs.core.List.EMPTY;
});
cljs.core.IndexedSeq.prototype.cljs$core$IReduce$_reduce$arity$2 = (function (coll,f){
var self__ = this;
var coll__$1 = this;
return cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$4(self__.arr,f,(self__.arr[self__.i]),(self__.i + (1)));
});
cljs.core.IndexedSeq.prototype.cljs$core$IReduce$_reduce$arity$3 = (function (coll,f,start){
var self__ = this;
var coll__$1 = this;
return cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$4(self__.arr,f,start,self__.i);
});
cljs.core.IndexedSeq.prototype.cljs$core$ISeq$_first$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return (self__.arr[self__.i]);
});
cljs.core.IndexedSeq.prototype.cljs$core$ISeq$_rest$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
if(((self__.i + (1)) < self__.arr.length)){
return (new cljs.core.IndexedSeq(self__.arr,(self__.i + (1)),null));
} else {
return cljs.core.List.EMPTY;
}
});
cljs.core.IndexedSeq.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (this$){
var self__ = this;
var this$__$1 = this;
if((self__.i < self__.arr.length)){
return this$__$1;
} else {
return null;
}
});
cljs.core.IndexedSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (coll,new_meta){
var self__ = this;
var coll__$1 = this;
return (new cljs.core.IndexedSeq(self__.arr,self__.i,new_meta));
});
cljs.core.IndexedSeq.prototype.cljs$core$ICollection$_conj$arity$2 = (function (coll,o){
var self__ = this;
var coll__$1 = this;
return cljs.core.cons(o,coll__$1);
});
cljs.core.IndexedSeq.getBasis = (function (){
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$arr,cljs.core.cst$sym$i,cljs.core.cst$sym$meta], null);
});
cljs.core.IndexedSeq.cljs$lang$type = true;
cljs.core.IndexedSeq.cljs$lang$ctorStr = "cljs.core/IndexedSeq";
cljs.core.IndexedSeq.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/IndexedSeq");
});
cljs.core.__GT_IndexedSeq = (function cljs$core$__GT_IndexedSeq(arr,i,meta){
return (new cljs.core.IndexedSeq(arr,i,meta));
});
var G__11934_11937 = cljs.core.IndexedSeq.prototype;
var G__11935_11938 = cljs.core.ITER_SYMBOL;
var G__11936_11939 = ((function (G__11934_11937,G__11935_11938){
return (function (){
var this__9929__auto__ = this;
return cljs.core.es6_iterator(this__9929__auto__);
});})(G__11934_11937,G__11935_11938))
;
goog.object.set(G__11934_11937,G__11935_11938,G__11936_11939);
/**
* Create seq from a primitive JavaScript Array-like.
*/
cljs.core.prim_seq = (function cljs$core$prim_seq(var_args){
var G__11941 = arguments.length;
switch (G__11941) {
case 1:
return cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$1 = (function (prim){
return cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(prim,(0));
});
cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2 = (function (prim,i){
if((i < prim.length)){
return (new cljs.core.IndexedSeq(prim,i,null));
} else {
return null;
}
});
cljs.core.prim_seq.cljs$lang$maxFixedArity = 2;
/**
* Create a seq from a JavaScript array.
*/
cljs.core.array_seq = (function cljs$core$array_seq(var_args){
var G__11944 = arguments.length;
switch (G__11944) {
case 1:
return cljs.core.array_seq.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.array_seq.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.array_seq.cljs$core$IFn$_invoke$arity$1 = (function (array){
return cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(array,(0));
});
cljs.core.array_seq.cljs$core$IFn$_invoke$arity$2 = (function (array,i){
return cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(array,i);
});
cljs.core.array_seq.cljs$lang$maxFixedArity = 2;
/**
* @constructor
* @implements {cljs.core.IEquiv}
* @implements {cljs.core.IHash}
* @implements {cljs.core.ICollection}
* @implements {cljs.core.IEmptyableCollection}
* @implements {cljs.core.ICounted}
* @implements {cljs.core.ISeq}
* @implements {cljs.core.INext}
* @implements {cljs.core.ISeqable}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.ICloneable}
* @implements {cljs.core.ISequential}
* @implements {cljs.core.IWithMeta}
* @implements {cljs.core.IReduce}
*/
cljs.core.RSeq = (function (ci,i,meta){
this.ci = ci;
this.i = i;
this.meta = meta;
this.cljs$lang$protocol_mask$partition0$ = 32374990;
this.cljs$lang$protocol_mask$partition1$ = 8192;
});
cljs.core.RSeq.prototype.toString = (function (){
var self__ = this;
var coll = this;
return cljs.core.pr_str_STAR_(coll);
});
cljs.core.RSeq.prototype.equiv = (function (other){
var self__ = this;
var this$ = this;
return this$.cljs$core$IEquiv$_equiv$arity$2(null,other);
});
cljs.core.RSeq.prototype.indexOf = (function() {
var G__11946 = null;
var G__11946__1 = (function (x){
var self__ = this;
var coll = this;
return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));
});
var G__11946__2 = (function (x,start){
var self__ = this;
var coll = this;
return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);
});
G__11946 = function(x,start){
switch(arguments.length){
case 1:
return G__11946__1.call(this,x);
case 2:
return G__11946__2.call(this,x,start);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__11946.cljs$core$IFn$_invoke$arity$1 = G__11946__1;
G__11946.cljs$core$IFn$_invoke$arity$2 = G__11946__2;
return G__11946;
})()
;
cljs.core.RSeq.prototype.lastIndexOf = (function() {
var G__11947 = null;
var G__11947__1 = (function (x){
var self__ = this;
var coll = this;
return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));
});
var G__11947__2 = (function (x,start){
var self__ = this;
var coll = this;
return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);
});
G__11947 = function(x,start){
switch(arguments.length){
case 1:
return G__11947__1.call(this,x);
case 2:
return G__11947__2.call(this,x,start);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__11947.cljs$core$IFn$_invoke$arity$1 = G__11947__1;
G__11947.cljs$core$IFn$_invoke$arity$2 = G__11947__2;
return G__11947;
})()
;
cljs.core.RSeq.prototype.cljs$core$IMeta$_meta$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return self__.meta;
});
cljs.core.RSeq.prototype.cljs$core$ICloneable$_clone$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return (new cljs.core.RSeq(self__.ci,self__.i,self__.meta));
});
cljs.core.RSeq.prototype.cljs$core$INext$_next$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
if((self__.i > (0))){
return (new cljs.core.RSeq(self__.ci,(self__.i - (1)),null));
} else {
return null;
}
});
cljs.core.RSeq.prototype.cljs$core$ICounted$_count$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return (self__.i + (1));
});
cljs.core.RSeq.prototype.cljs$core$IHash$_hash$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return cljs.core.hash_ordered_coll(coll__$1);
});
cljs.core.RSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (coll,other){
var self__ = this;
var coll__$1 = this;
return cljs.core.equiv_sequential(coll__$1,other);
});
cljs.core.RSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return cljs.core._with_meta(cljs.core.List.EMPTY,self__.meta);
});
cljs.core.RSeq.prototype.cljs$core$IReduce$_reduce$arity$2 = (function (col,f){
var self__ = this;
var col__$1 = this;
return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,col__$1);
});
cljs.core.RSeq.prototype.cljs$core$IReduce$_reduce$arity$3 = (function (col,f,start){
var self__ = this;
var col__$1 = this;
return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,col__$1);
});
cljs.core.RSeq.prototype.cljs$core$ISeq$_first$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return cljs.core._nth.cljs$core$IFn$_invoke$arity$2(self__.ci,self__.i);
});
cljs.core.RSeq.prototype.cljs$core$ISeq$_rest$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
if((self__.i > (0))){
return (new cljs.core.RSeq(self__.ci,(self__.i - (1)),null));
} else {
return cljs.core.List.EMPTY;
}
});
cljs.core.RSeq.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return coll__$1;
});
cljs.core.RSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (coll,new_meta){
var self__ = this;
var coll__$1 = this;
return (new cljs.core.RSeq(self__.ci,self__.i,new_meta));
});
cljs.core.RSeq.prototype.cljs$core$ICollection$_conj$arity$2 = (function (coll,o){
var self__ = this;
var coll__$1 = this;
return cljs.core.cons(o,coll__$1);
});
cljs.core.RSeq.getBasis = (function (){
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$ci,cljs.core.cst$sym$i,cljs.core.cst$sym$meta], null);
});
cljs.core.RSeq.cljs$lang$type = true;
cljs.core.RSeq.cljs$lang$ctorStr = "cljs.core/RSeq";
cljs.core.RSeq.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/RSeq");
});
cljs.core.__GT_RSeq = (function cljs$core$__GT_RSeq(ci,i,meta){
return (new cljs.core.RSeq(ci,i,meta));
});
var G__11948_11951 = cljs.core.RSeq.prototype;
var G__11949_11952 = cljs.core.ITER_SYMBOL;
var G__11950_11953 = ((function (G__11948_11951,G__11949_11952){
return (function (){
var this__9929__auto__ = this;
return cljs.core.es6_iterator(this__9929__auto__);
});})(G__11948_11951,G__11949_11952))
;
goog.object.set(G__11948_11951,G__11949_11952,G__11950_11953);
/**
* Same as (first (next x))
*/
cljs.core.second = (function cljs$core$second(coll){
return cljs.core.first(cljs.core.next(coll));
});
/**
* Same as (first (first x))
*/
cljs.core.ffirst = (function cljs$core$ffirst(coll){
return cljs.core.first(cljs.core.first(coll));
});
/**
* Same as (next (first x))
*/
cljs.core.nfirst = (function cljs$core$nfirst(coll){
return cljs.core.next(cljs.core.first(coll));
});
/**
* Same as (first (next x))
*/
cljs.core.fnext = (function cljs$core$fnext(coll){
return cljs.core.first(cljs.core.next(coll));
});
/**
* Same as (next (next x))
*/
cljs.core.nnext = (function cljs$core$nnext(coll){
return cljs.core.next(cljs.core.next(coll));
});
/**
* Return the last item in coll, in linear time
*/
cljs.core.last = (function cljs$core$last(s){
while(true){
var sn = cljs.core.next(s);
if(!((sn == null))){
var G__11954 = sn;
s = G__11954;
continue;
} else {
return cljs.core.first(s);
}
break;
}
});
goog.object.set(cljs.core.IEquiv,"_",true);
var G__11955_11958 = cljs.core._equiv;
var G__11956_11959 = "_";
var G__11957_11960 = ((function (G__11955_11958,G__11956_11959){
return (function (x,o){
return (x === o);
});})(G__11955_11958,G__11956_11959))
;
goog.object.set(G__11955_11958,G__11956_11959,G__11957_11960);
/**
* conj[oin]. Returns a new collection with the xs
* 'added'. (conj nil item) returns (item). The 'addition' may
* happen at different 'places' depending on the concrete type.
*/
cljs.core.conj = (function cljs$core$conj(var_args){
var G__11965 = arguments.length;
switch (G__11965) {
case 0:
return cljs.core.conj.cljs$core$IFn$_invoke$arity$0();
break;
case 1:
return cljs.core.conj.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.conj.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___11967 = arguments.length;
var i__10062__auto___11968 = (0);
while(true){
if((i__10062__auto___11968 < len__10061__auto___11967)){
args_arr__10084__auto__.push((arguments[i__10062__auto___11968]));
var G__11969 = (i__10062__auto___11968 + (1));
i__10062__auto___11968 = G__11969;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((2)),(0),null));
return cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__10085__auto__);
}
});
cljs.core.conj.cljs$core$IFn$_invoke$arity$0 = (function (){
return cljs.core.PersistentVector.EMPTY;
});
cljs.core.conj.cljs$core$IFn$_invoke$arity$1 = (function (coll){
return coll;
});
cljs.core.conj.cljs$core$IFn$_invoke$arity$2 = (function (coll,x){
if(!((coll == null))){
return cljs.core._conj(coll,x);
} else {
var x__9736__auto__ = x;
return cljs.core._conj(cljs.core.List.EMPTY,x__9736__auto__);
}
});
cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic = (function (coll,x,xs){
while(true){
if(cljs.core.truth_(xs)){
var G__11970 = cljs.core.conj.cljs$core$IFn$_invoke$arity$2(coll,x);
var G__11971 = cljs.core.first(xs);
var G__11972 = cljs.core.next(xs);
coll = G__11970;
x = G__11971;
xs = G__11972;
continue;
} else {
return cljs.core.conj.cljs$core$IFn$_invoke$arity$2(coll,x);
}
break;
}
});
cljs.core.conj.cljs$lang$applyTo = (function (seq11962){
var G__11963 = cljs.core.first(seq11962);
var seq11962__$1 = cljs.core.next(seq11962);
var G__11964 = cljs.core.first(seq11962__$1);
var seq11962__$2 = cljs.core.next(seq11962__$1);
return cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(G__11963,G__11964,seq11962__$2);
});
cljs.core.conj.cljs$lang$maxFixedArity = (2);
/**
* Returns an empty collection of the same category as coll, or nil
*/
cljs.core.empty = (function cljs$core$empty(coll){
if((coll == null)){
return null;
} else {
return cljs.core._empty(coll);
}
});
cljs.core.accumulating_seq_count = (function cljs$core$accumulating_seq_count(coll){
var s = cljs.core.seq(coll);
var acc = (0);
while(true){
if(cljs.core.counted_QMARK_(s)){
return (acc + cljs.core._count(s));
} else {
var G__11973 = cljs.core.next(s);
var G__11974 = (acc + (1));
s = G__11973;
acc = G__11974;
continue;
}
break;
}
});
/**
* Returns the number of items in the collection. (count nil) returns
* 0. Also works on strings, arrays, and Maps
*/
cljs.core.count = (function cljs$core$count(coll){
if(!((coll == null))){
if(((!((coll == null)))?((((coll.cljs$lang$protocol_mask$partition0$ & (2))) || ((cljs.core.PROTOCOL_SENTINEL === coll.cljs$core$ICounted$)))?true:false):false)){
return coll.cljs$core$ICounted$_count$arity$1(null);
} else {
if(cljs.core.array_QMARK_(coll)){
return coll.length;
} else {
if(typeof coll === 'string'){
return coll.length;
} else {
if(((!((coll == null)))?((((coll.cljs$lang$protocol_mask$partition0$ & (8388608))) || ((cljs.core.PROTOCOL_SENTINEL === coll.cljs$core$ISeqable$)))?true:false):false)){
return cljs.core.accumulating_seq_count(coll);
} else {
return cljs.core._count(coll);
}
}
}
}
} else {
return (0);
}
});
cljs.core.linear_traversal_nth = (function cljs$core$linear_traversal_nth(var_args){
var G__11978 = arguments.length;
switch (G__11978) {
case 2:
return cljs.core.linear_traversal_nth.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.linear_traversal_nth.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.linear_traversal_nth.cljs$core$IFn$_invoke$arity$2 = (function (coll,n){
while(true){
if((coll == null)){
throw (new Error("Index out of bounds"));
} else {
if((n === (0))){
if(cljs.core.seq(coll)){
return cljs.core.first(coll);
} else {
throw (new Error("Index out of bounds"));
}
} else {
if(cljs.core.indexed_QMARK_(coll)){
return cljs.core._nth.cljs$core$IFn$_invoke$arity$2(coll,n);
} else {
if(cljs.core.seq(coll)){
var G__11980 = cljs.core.next(coll);
var G__11981 = (n - (1));
coll = G__11980;
n = G__11981;
continue;
} else {
throw (new Error("Index out of bounds"));
}
}
}
}
break;
}
});
cljs.core.linear_traversal_nth.cljs$core$IFn$_invoke$arity$3 = (function (coll,n,not_found){
while(true){
if((coll == null)){
return not_found;
} else {
if((n === (0))){
if(cljs.core.seq(coll)){
return cljs.core.first(coll);
} else {
return not_found;
}
} else {
if(cljs.core.indexed_QMARK_(coll)){
return cljs.core._nth.cljs$core$IFn$_invoke$arity$3(coll,n,not_found);
} else {
if(cljs.core.seq(coll)){
var G__11982 = cljs.core.next(coll);
var G__11983 = (n - (1));
var G__11984 = not_found;
coll = G__11982;
n = G__11983;
not_found = G__11984;
continue;
} else {
return not_found;
}
}
}
}
break;
}
});
cljs.core.linear_traversal_nth.cljs$lang$maxFixedArity = 3;
/**
* Returns the value at the index. get returns nil if index out of
* bounds, nth throws an exception unless not-found is supplied. nth
* also works for strings, arrays, regex Matchers and Lists, and,
* in O(n) time, for sequences.
*/
cljs.core.nth = (function cljs$core$nth(var_args){
var G__11986 = arguments.length;
switch (G__11986) {
case 2:
return cljs.core.nth.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.nth.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.nth.cljs$core$IFn$_invoke$arity$2 = (function (coll,n){
if(!(typeof n === 'number')){
throw (new Error("Index argument to nth must be a number"));
} else {
if((coll == null)){
return coll;
} else {
if(((!((coll == null)))?((((coll.cljs$lang$protocol_mask$partition0$ & (16))) || ((cljs.core.PROTOCOL_SENTINEL === coll.cljs$core$IIndexed$)))?true:false):false)){
return coll.cljs$core$IIndexed$_nth$arity$2(null,n);
} else {
if(cljs.core.array_QMARK_(coll)){
if(((n >= (0))) && ((n < coll.length))){
return (coll[n]);
} else {
throw (new Error("Index out of bounds"));
}
} else {
if(typeof coll === 'string'){
if(((n >= (0))) && ((n < coll.length))){
return coll.charAt(n);
} else {
throw (new Error("Index out of bounds"));
}
} else {
if(((!((coll == null)))?((((coll.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === coll.cljs$core$ISeq$)))?true:false):false)){
return cljs.core.linear_traversal_nth.cljs$core$IFn$_invoke$arity$2(coll,n);
} else {
if(cljs.core.native_satisfies_QMARK_(cljs.core.IIndexed,coll)){
return cljs.core._nth.cljs$core$IFn$_invoke$arity$2(coll,n);
} else {
throw (new Error(["nth not supported on this type ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.type__GT_str(cljs.core.type(coll)))].join('')));
}
}
}
}
}
}
}
});
cljs.core.nth.cljs$core$IFn$_invoke$arity$3 = (function (coll,n,not_found){
if(!(typeof n === 'number')){
throw (new Error("Index argument to nth must be a number."));
} else {
if((coll == null)){
return not_found;
} else {
if(((!((coll == null)))?((((coll.cljs$lang$protocol_mask$partition0$ & (16))) || ((cljs.core.PROTOCOL_SENTINEL === coll.cljs$core$IIndexed$)))?true:false):false)){
return coll.cljs$core$IIndexed$_nth$arity$3(null,n,not_found);
} else {
if(cljs.core.array_QMARK_(coll)){
if(((n >= (0))) && ((n < coll.length))){
return (coll[n]);
} else {
return not_found;
}
} else {
if(typeof coll === 'string'){
if(((n >= (0))) && ((n < coll.length))){
return coll.charAt(n);
} else {
return not_found;
}
} else {
if(((!((coll == null)))?((((coll.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === coll.cljs$core$ISeq$)))?true:false):false)){
return cljs.core.linear_traversal_nth.cljs$core$IFn$_invoke$arity$3(coll,n,not_found);
} else {
if(cljs.core.native_satisfies_QMARK_(cljs.core.IIndexed,coll)){
return cljs.core._nth.cljs$core$IFn$_invoke$arity$3(coll,n,not_found);
} else {
throw (new Error(["nth not supported on this type ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.type__GT_str(cljs.core.type(coll)))].join('')));
}
}
}
}
}
}
}
});
cljs.core.nth.cljs$lang$maxFixedArity = 3;
/**
* Returns the nth rest of coll, coll when n is 0.
*/
cljs.core.nthrest = (function cljs$core$nthrest(coll,n){
var n__$1 = n;
var xs = coll;
while(true){
if(((n__$1 > (0))) && (cljs.core.seq(xs))){
var G__11992 = (n__$1 - (1));
var G__11993 = cljs.core.rest(xs);
n__$1 = G__11992;
xs = G__11993;
continue;
} else {
return xs;
}
break;
}
});
/**
* Returns the value mapped to key, not-found or nil if key not present.
*/
cljs.core.get = (function cljs$core$get(var_args){
var G__11995 = arguments.length;
switch (G__11995) {
case 2:
return cljs.core.get.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.get.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.get.cljs$core$IFn$_invoke$arity$2 = (function (o,k){
if((o == null)){
return null;
} else {
if(((!((o == null)))?((((o.cljs$lang$protocol_mask$partition0$ & (256))) || ((cljs.core.PROTOCOL_SENTINEL === o.cljs$core$ILookup$)))?true:false):false)){
return o.cljs$core$ILookup$_lookup$arity$2(null,k);
} else {
if(cljs.core.array_QMARK_(o)){
if((!((k == null))) && ((k < o.length))){
return (o[(k | (0))]);
} else {
return null;
}
} else {
if(typeof o === 'string'){
if((!((k == null))) && ((k < o.length))){
return o.charAt((k | (0)));
} else {
return null;
}
} else {
if(cljs.core.native_satisfies_QMARK_(cljs.core.ILookup,o)){
return cljs.core._lookup.cljs$core$IFn$_invoke$arity$2(o,k);
} else {
return null;
}
}
}
}
}
});
cljs.core.get.cljs$core$IFn$_invoke$arity$3 = (function (o,k,not_found){
if(!((o == null))){
if(((!((o == null)))?((((o.cljs$lang$protocol_mask$partition0$ & (256))) || ((cljs.core.PROTOCOL_SENTINEL === o.cljs$core$ILookup$)))?true:false):false)){
return o.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);
} else {
if(cljs.core.array_QMARK_(o)){
if((!((k == null))) && ((k >= (0))) && ((k < o.length))){
return (o[(k | (0))]);
} else {
return not_found;
}
} else {
if(typeof o === 'string'){
if((!((k == null))) && ((k >= (0))) && ((k < o.length))){
return o.charAt((k | (0)));
} else {
return not_found;
}
} else {
if(cljs.core.native_satisfies_QMARK_(cljs.core.ILookup,o)){
return cljs.core._lookup.cljs$core$IFn$_invoke$arity$3(o,k,not_found);
} else {
return not_found;
}
}
}
}
} else {
return not_found;
}
});
cljs.core.get.cljs$lang$maxFixedArity = 3;
/**
* assoc[iate]. When applied to a map, returns a new map of the
* same (hashed/sorted) type, that contains the mapping of key(s) to
* val(s). When applied to a vector, returns a new vector that
* contains val at index.
*/
cljs.core.assoc = (function cljs$core$assoc(var_args){
var G__12004 = arguments.length;
switch (G__12004) {
case 3:
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___12006 = arguments.length;
var i__10062__auto___12007 = (0);
while(true){
if((i__10062__auto___12007 < len__10061__auto___12006)){
args_arr__10084__auto__.push((arguments[i__10062__auto___12007]));
var G__12008 = (i__10062__auto___12007 + (1));
i__10062__auto___12007 = G__12008;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((3)),(0),null));
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__10085__auto__);
}
});
cljs.core.assoc.cljs$core$IFn$_invoke$arity$3 = (function (coll,k,v){
if(!((coll == null))){
return cljs.core._assoc(coll,k,v);
} else {
return cljs.core.PersistentArrayMap.createAsIfByAssoc([k,v]);
}
});
cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic = (function (coll,k,v,kvs){
while(true){
var ret = cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(coll,k,v);
if(cljs.core.truth_(kvs)){
var G__12009 = ret;
var G__12010 = cljs.core.first(kvs);
var G__12011 = cljs.core.second(kvs);
var G__12012 = cljs.core.nnext(kvs);
coll = G__12009;
k = G__12010;
v = G__12011;
kvs = G__12012;
continue;
} else {
return ret;
}
break;
}
});
cljs.core.assoc.cljs$lang$applyTo = (function (seq12000){
var G__12001 = cljs.core.first(seq12000);
var seq12000__$1 = cljs.core.next(seq12000);
var G__12002 = cljs.core.first(seq12000__$1);
var seq12000__$2 = cljs.core.next(seq12000__$1);
var G__12003 = cljs.core.first(seq12000__$2);
var seq12000__$3 = cljs.core.next(seq12000__$2);
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(G__12001,G__12002,G__12003,seq12000__$3);
});
cljs.core.assoc.cljs$lang$maxFixedArity = (3);
/**
* dissoc[iate]. Returns a new map of the same (hashed/sorted) type,
* that does not contain a mapping for key(s).
*/
cljs.core.dissoc = (function cljs$core$dissoc(var_args){
var G__12017 = arguments.length;
switch (G__12017) {
case 1:
return cljs.core.dissoc.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___12019 = arguments.length;
var i__10062__auto___12020 = (0);
while(true){
if((i__10062__auto___12020 < len__10061__auto___12019)){
args_arr__10084__auto__.push((arguments[i__10062__auto___12020]));
var G__12021 = (i__10062__auto___12020 + (1));
i__10062__auto___12020 = G__12021;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((2)),(0),null));
return cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__10085__auto__);
}
});
cljs.core.dissoc.cljs$core$IFn$_invoke$arity$1 = (function (coll){
return coll;
});
cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2 = (function (coll,k){
if((coll == null)){
return null;
} else {
return cljs.core._dissoc(coll,k);
}
});
cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic = (function (coll,k,ks){
while(true){
if((coll == null)){
return null;
} else {
var ret = cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(coll,k);
if(cljs.core.truth_(ks)){
var G__12022 = ret;
var G__12023 = cljs.core.first(ks);
var G__12024 = cljs.core.next(ks);
coll = G__12022;
k = G__12023;
ks = G__12024;
continue;
} else {
return ret;
}
}
break;
}
});
cljs.core.dissoc.cljs$lang$applyTo = (function (seq12014){
var G__12015 = cljs.core.first(seq12014);
var seq12014__$1 = cljs.core.next(seq12014);
var G__12016 = cljs.core.first(seq12014__$1);
var seq12014__$2 = cljs.core.next(seq12014__$1);
return cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(G__12015,G__12016,seq12014__$2);
});
cljs.core.dissoc.cljs$lang$maxFixedArity = (2);
/**
* Return true if f is a JavaScript function or satisfies the Fn protocol.
*/
cljs.core.fn_QMARK_ = (function cljs$core$fn_QMARK_(f){
var or__8782__auto__ = goog.isFunction(f);
if(or__8782__auto__){
return or__8782__auto__;
} else {
if(!((f == null))){
if((false) || ((cljs.core.PROTOCOL_SENTINEL === f.cljs$core$Fn$))){
return true;
} else {
if((!f.cljs$lang$protocol_mask$partition$)){
return cljs.core.native_satisfies_QMARK_(cljs.core.Fn,f);
} else {
return false;
}
}
} else {
return cljs.core.native_satisfies_QMARK_(cljs.core.Fn,f);
}
}
});
/**
* @constructor
* @implements {cljs.core.IFn}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.Fn}
* @implements {cljs.core.IWithMeta}
*/
cljs.core.MetaFn = (function (afn,meta){
this.afn = afn;
this.meta = meta;
this.cljs$lang$protocol_mask$partition0$ = 393217;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
cljs.core.MetaFn.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return self__.meta;
});
cljs.core.MetaFn.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_,new_meta){
var self__ = this;
var ___$1 = this;
return (new cljs.core.MetaFn(self__.afn,new_meta));
});
cljs.core.MetaFn.prototype.cljs$core$Fn$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.MetaFn.prototype.call = (function() {
var G__12028 = null;
var G__12028__1 = (function (self__){
var self__ = this;
var self____$1 = this;
var _ = self____$1;
return (self__.afn.cljs$core$IFn$_invoke$arity$0 ? self__.afn.cljs$core$IFn$_invoke$arity$0() : self__.afn.call(null));
});
var G__12028__2 = (function (self__,a){
var self__ = this;
var self____$1 = this;
var _ = self____$1;
return (self__.afn.cljs$core$IFn$_invoke$arity$1 ? self__.afn.cljs$core$IFn$_invoke$arity$1(a) : self__.afn.call(null,a));
});
var G__12028__3 = (function (self__,a,b){
var self__ = this;
var self____$1 = this;
var _ = self____$1;
return (self__.afn.cljs$core$IFn$_invoke$arity$2 ? self__.afn.cljs$core$IFn$_invoke$arity$2(a,b) : self__.afn.call(null,a,b));
});
var G__12028__4 = (function (self__,a,b,c){
var self__ = this;
var self____$1 = this;
var _ = self____$1;
return (self__.afn.cljs$core$IFn$_invoke$arity$3 ? self__.afn.cljs$core$IFn$_invoke$arity$3(a,b,c) : self__.afn.call(null,a,b,c));
});
var G__12028__5 = (function (self__,a,b,c,d){
var self__ = this;
var self____$1 = this;
var _ = self____$1;
return (self__.afn.cljs$core$IFn$_invoke$arity$4 ? self__.afn.cljs$core$IFn$_invoke$arity$4(a,b,c,d) : self__.afn.call(null,a,b,c,d));
});
var G__12028__6 = (function (self__,a,b,c,d,e){
var self__ = this;
var self____$1 = this;
var _ = self____$1;
return (self__.afn.cljs$core$IFn$_invoke$arity$5 ? self__.afn.cljs$core$IFn$_invoke$arity$5(a,b,c,d,e) : self__.afn.call(null,a,b,c,d,e));
});
var G__12028__7 = (function (self__,a,b,c,d,e,f){
var self__ = this;
var self____$1 = this;
var _ = self____$1;
return (self__.afn.cljs$core$IFn$_invoke$arity$6 ? self__.afn.cljs$core$IFn$_invoke$arity$6(a,b,c,d,e,f) : self__.afn.call(null,a,b,c,d,e,f));
});
var G__12028__8 = (function (self__,a,b,c,d,e,f,g){
var self__ = this;
var self____$1 = this;
var _ = self____$1;
return (self__.afn.cljs$core$IFn$_invoke$arity$7 ? self__.afn.cljs$core$IFn$_invoke$arity$7(a,b,c,d,e,f,g) : self__.afn.call(null,a,b,c,d,e,f,g));
});
var G__12028__9 = (function (self__,a,b,c,d,e,f,g,h){
var self__ = this;
var self____$1 = this;
var _ = self____$1;
return (self__.afn.cljs$core$IFn$_invoke$arity$8 ? self__.afn.cljs$core$IFn$_invoke$arity$8(a,b,c,d,e,f,g,h) : self__.afn.call(null,a,b,c,d,e,f,g,h));
});
var G__12028__10 = (function (self__,a,b,c,d,e,f,g,h,i){
var self__ = this;
var self____$1 = this;
var _ = self____$1;
return (self__.afn.cljs$core$IFn$_invoke$arity$9 ? self__.afn.cljs$core$IFn$_invoke$arity$9(a,b,c,d,e,f,g,h,i) : self__.afn.call(null,a,b,c,d,e,f,g,h,i));
});
var G__12028__11 = (function (self__,a,b,c,d,e,f,g,h,i,j){
var self__ = this;
var self____$1 = this;
var _ = self____$1;
return (self__.afn.cljs$core$IFn$_invoke$arity$10 ? self__.afn.cljs$core$IFn$_invoke$arity$10(a,b,c,d,e,f,g,h,i,j) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j));
});
var G__12028__12 = (function (self__,a,b,c,d,e,f,g,h,i,j,k){
var self__ = this;
var self____$1 = this;
var _ = self____$1;
return (self__.afn.cljs$core$IFn$_invoke$arity$11 ? self__.afn.cljs$core$IFn$_invoke$arity$11(a,b,c,d,e,f,g,h,i,j,k) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k));
});
var G__12028__13 = (function (self__,a,b,c,d,e,f,g,h,i,j,k,l){
var self__ = this;
var self____$1 = this;
var _ = self____$1;
return (self__.afn.cljs$core$IFn$_invoke$arity$12 ? self__.afn.cljs$core$IFn$_invoke$arity$12(a,b,c,d,e,f,g,h,i,j,k,l) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l));
});
var G__12028__14 = (function (self__,a,b,c,d,e,f,g,h,i,j,k,l,m){
var self__ = this;
var self____$1 = this;
var _ = self____$1;
return (self__.afn.cljs$core$IFn$_invoke$arity$13 ? self__.afn.cljs$core$IFn$_invoke$arity$13(a,b,c,d,e,f,g,h,i,j,k,l,m) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m));
});
var G__12028__15 = (function (self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n){
var self__ = this;
var self____$1 = this;
var _ = self____$1;
return (self__.afn.cljs$core$IFn$_invoke$arity$14 ? self__.afn.cljs$core$IFn$_invoke$arity$14(a,b,c,d,e,f,g,h,i,j,k,l,m,n) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n));
});
var G__12028__16 = (function (self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){
var self__ = this;
var self____$1 = this;
var _ = self____$1;
return (self__.afn.cljs$core$IFn$_invoke$arity$15 ? self__.afn.cljs$core$IFn$_invoke$arity$15(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o));
});
var G__12028__17 = (function (self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){
var self__ = this;
var self____$1 = this;
var _ = self____$1;
return (self__.afn.cljs$core$IFn$_invoke$arity$16 ? self__.afn.cljs$core$IFn$_invoke$arity$16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p));
});
var G__12028__18 = (function (self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){
var self__ = this;
var self____$1 = this;
var _ = self____$1;
return (self__.afn.cljs$core$IFn$_invoke$arity$17 ? self__.afn.cljs$core$IFn$_invoke$arity$17(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q));
});
var G__12028__19 = (function (self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){
var self__ = this;
var self____$1 = this;
var _ = self____$1;
return (self__.afn.cljs$core$IFn$_invoke$arity$18 ? self__.afn.cljs$core$IFn$_invoke$arity$18(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r));
});
var G__12028__20 = (function (self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){
var self__ = this;
var self____$1 = this;
var _ = self____$1;
return (self__.afn.cljs$core$IFn$_invoke$arity$19 ? self__.afn.cljs$core$IFn$_invoke$arity$19(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s));
});
var G__12028__21 = (function (self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){
var self__ = this;
var self____$1 = this;
var _ = self____$1;
return (self__.afn.cljs$core$IFn$_invoke$arity$20 ? self__.afn.cljs$core$IFn$_invoke$arity$20(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t));
});
var G__12028__22 = (function (self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest){
var self__ = this;
var self____$1 = this;
var _ = self____$1;
return cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(self__.afn,a,b,c,d,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest], 0));
});
G__12028 = function(self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest){
switch(arguments.length){
case 1:
return G__12028__1.call(this,self__);
case 2:
return G__12028__2.call(this,self__,a);
case 3:
return G__12028__3.call(this,self__,a,b);
case 4:
return G__12028__4.call(this,self__,a,b,c);
case 5:
return G__12028__5.call(this,self__,a,b,c,d);
case 6:
return G__12028__6.call(this,self__,a,b,c,d,e);
case 7:
return G__12028__7.call(this,self__,a,b,c,d,e,f);
case 8:
return G__12028__8.call(this,self__,a,b,c,d,e,f,g);
case 9:
return G__12028__9.call(this,self__,a,b,c,d,e,f,g,h);
case 10:
return G__12028__10.call(this,self__,a,b,c,d,e,f,g,h,i);
case 11:
return G__12028__11.call(this,self__,a,b,c,d,e,f,g,h,i,j);
case 12:
return G__12028__12.call(this,self__,a,b,c,d,e,f,g,h,i,j,k);
case 13:
return G__12028__13.call(this,self__,a,b,c,d,e,f,g,h,i,j,k,l);
case 14:
return G__12028__14.call(this,self__,a,b,c,d,e,f,g,h,i,j,k,l,m);
case 15:
return G__12028__15.call(this,self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n);
case 16:
return G__12028__16.call(this,self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o);
case 17:
return G__12028__17.call(this,self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p);
case 18:
return G__12028__18.call(this,self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q);
case 19:
return G__12028__19.call(this,self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r);
case 20:
return G__12028__20.call(this,self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s);
case 21:
return G__12028__21.call(this,self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t);
case 22:
return G__12028__22.call(this,self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__12028.cljs$core$IFn$_invoke$arity$1 = G__12028__1;
G__12028.cljs$core$IFn$_invoke$arity$2 = G__12028__2;
G__12028.cljs$core$IFn$_invoke$arity$3 = G__12028__3;
G__12028.cljs$core$IFn$_invoke$arity$4 = G__12028__4;
G__12028.cljs$core$IFn$_invoke$arity$5 = G__12028__5;
G__12028.cljs$core$IFn$_invoke$arity$6 = G__12028__6;
G__12028.cljs$core$IFn$_invoke$arity$7 = G__12028__7;
G__12028.cljs$core$IFn$_invoke$arity$8 = G__12028__8;
G__12028.cljs$core$IFn$_invoke$arity$9 = G__12028__9;
G__12028.cljs$core$IFn$_invoke$arity$10 = G__12028__10;
G__12028.cljs$core$IFn$_invoke$arity$11 = G__12028__11;
G__12028.cljs$core$IFn$_invoke$arity$12 = G__12028__12;
G__12028.cljs$core$IFn$_invoke$arity$13 = G__12028__13;
G__12028.cljs$core$IFn$_invoke$arity$14 = G__12028__14;
G__12028.cljs$core$IFn$_invoke$arity$15 = G__12028__15;
G__12028.cljs$core$IFn$_invoke$arity$16 = G__12028__16;
G__12028.cljs$core$IFn$_invoke$arity$17 = G__12028__17;
G__12028.cljs$core$IFn$_invoke$arity$18 = G__12028__18;
G__12028.cljs$core$IFn$_invoke$arity$19 = G__12028__19;
G__12028.cljs$core$IFn$_invoke$arity$20 = G__12028__20;
G__12028.cljs$core$IFn$_invoke$arity$21 = G__12028__21;
G__12028.cljs$core$IFn$_invoke$arity$22 = G__12028__22;
return G__12028;
})()
;
cljs.core.MetaFn.prototype.apply = (function (self__,args12027){
var self__ = this;
var self____$1 = this;
return self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args12027)));
});
cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$0 = (function (){
var self__ = this;
var _ = this;
return (self__.afn.cljs$core$IFn$_invoke$arity$0 ? self__.afn.cljs$core$IFn$_invoke$arity$0() : self__.afn.call(null));
});
cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$1 = (function (a){
var self__ = this;
var _ = this;
return (self__.afn.cljs$core$IFn$_invoke$arity$1 ? self__.afn.cljs$core$IFn$_invoke$arity$1(a) : self__.afn.call(null,a));
});
cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$2 = (function (a,b){
var self__ = this;
var _ = this;
return (self__.afn.cljs$core$IFn$_invoke$arity$2 ? self__.afn.cljs$core$IFn$_invoke$arity$2(a,b) : self__.afn.call(null,a,b));
});
cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$3 = (function (a,b,c){
var self__ = this;
var _ = this;
return (self__.afn.cljs$core$IFn$_invoke$arity$3 ? self__.afn.cljs$core$IFn$_invoke$arity$3(a,b,c) : self__.afn.call(null,a,b,c));
});
cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$4 = (function (a,b,c,d){
var self__ = this;
var _ = this;
return (self__.afn.cljs$core$IFn$_invoke$arity$4 ? self__.afn.cljs$core$IFn$_invoke$arity$4(a,b,c,d) : self__.afn.call(null,a,b,c,d));
});
cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$5 = (function (a,b,c,d,e){
var self__ = this;
var _ = this;
return (self__.afn.cljs$core$IFn$_invoke$arity$5 ? self__.afn.cljs$core$IFn$_invoke$arity$5(a,b,c,d,e) : self__.afn.call(null,a,b,c,d,e));
});
cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$6 = (function (a,b,c,d,e,f){
var self__ = this;
var _ = this;
return (self__.afn.cljs$core$IFn$_invoke$arity$6 ? self__.afn.cljs$core$IFn$_invoke$arity$6(a,b,c,d,e,f) : self__.afn.call(null,a,b,c,d,e,f));
});
cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$7 = (function (a,b,c,d,e,f,g){
var self__ = this;
var _ = this;
return (self__.afn.cljs$core$IFn$_invoke$arity$7 ? self__.afn.cljs$core$IFn$_invoke$arity$7(a,b,c,d,e,f,g) : self__.afn.call(null,a,b,c,d,e,f,g));
});
cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$8 = (function (a,b,c,d,e,f,g,h){
var self__ = this;
var _ = this;
return (self__.afn.cljs$core$IFn$_invoke$arity$8 ? self__.afn.cljs$core$IFn$_invoke$arity$8(a,b,c,d,e,f,g,h) : self__.afn.call(null,a,b,c,d,e,f,g,h));
});
cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$9 = (function (a,b,c,d,e,f,g,h,i){
var self__ = this;
var _ = this;
return (self__.afn.cljs$core$IFn$_invoke$arity$9 ? self__.afn.cljs$core$IFn$_invoke$arity$9(a,b,c,d,e,f,g,h,i) : self__.afn.call(null,a,b,c,d,e,f,g,h,i));
});
cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$10 = (function (a,b,c,d,e,f,g,h,i,j){
var self__ = this;
var _ = this;
return (self__.afn.cljs$core$IFn$_invoke$arity$10 ? self__.afn.cljs$core$IFn$_invoke$arity$10(a,b,c,d,e,f,g,h,i,j) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j));
});
cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$11 = (function (a,b,c,d,e,f,g,h,i,j,k){
var self__ = this;
var _ = this;
return (self__.afn.cljs$core$IFn$_invoke$arity$11 ? self__.afn.cljs$core$IFn$_invoke$arity$11(a,b,c,d,e,f,g,h,i,j,k) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k));
});
cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$12 = (function (a,b,c,d,e,f,g,h,i,j,k,l){
var self__ = this;
var _ = this;
return (self__.afn.cljs$core$IFn$_invoke$arity$12 ? self__.afn.cljs$core$IFn$_invoke$arity$12(a,b,c,d,e,f,g,h,i,j,k,l) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l));
});
cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$13 = (function (a,b,c,d,e,f,g,h,i,j,k,l,m){
var self__ = this;
var _ = this;
return (self__.afn.cljs$core$IFn$_invoke$arity$13 ? self__.afn.cljs$core$IFn$_invoke$arity$13(a,b,c,d,e,f,g,h,i,j,k,l,m) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m));
});
cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$14 = (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n){
var self__ = this;
var _ = this;
return (self__.afn.cljs$core$IFn$_invoke$arity$14 ? self__.afn.cljs$core$IFn$_invoke$arity$14(a,b,c,d,e,f,g,h,i,j,k,l,m,n) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n));
});
cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$15 = (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){
var self__ = this;
var _ = this;
return (self__.afn.cljs$core$IFn$_invoke$arity$15 ? self__.afn.cljs$core$IFn$_invoke$arity$15(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o));
});
cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$16 = (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){
var self__ = this;
var _ = this;
return (self__.afn.cljs$core$IFn$_invoke$arity$16 ? self__.afn.cljs$core$IFn$_invoke$arity$16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p));
});
cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$17 = (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){
var self__ = this;
var _ = this;
return (self__.afn.cljs$core$IFn$_invoke$arity$17 ? self__.afn.cljs$core$IFn$_invoke$arity$17(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q));
});
cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$18 = (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){
var self__ = this;
var _ = this;
return (self__.afn.cljs$core$IFn$_invoke$arity$18 ? self__.afn.cljs$core$IFn$_invoke$arity$18(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r));
});
cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$19 = (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){
var self__ = this;
var _ = this;
return (self__.afn.cljs$core$IFn$_invoke$arity$19 ? self__.afn.cljs$core$IFn$_invoke$arity$19(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s));
});
cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$20 = (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){
var self__ = this;
var _ = this;
return (self__.afn.cljs$core$IFn$_invoke$arity$20 ? self__.afn.cljs$core$IFn$_invoke$arity$20(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) : self__.afn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t));
});
cljs.core.MetaFn.prototype.cljs$core$IFn$_invoke$arity$21 = (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest){
var self__ = this;
var _ = this;
return cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(self__.afn,a,b,c,d,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest], 0));
});
cljs.core.MetaFn.getBasis = (function (){
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$afn,cljs.core.cst$sym$meta], null);
});
cljs.core.MetaFn.cljs$lang$type = true;
cljs.core.MetaFn.cljs$lang$ctorStr = "cljs.core/MetaFn";
cljs.core.MetaFn.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/MetaFn");
});
cljs.core.__GT_MetaFn = (function cljs$core$__GT_MetaFn(afn,meta){
return (new cljs.core.MetaFn(afn,meta));
});
/**
* Returns an object of the same type and value as obj, with
* map m as its metadata.
*/
cljs.core.with_meta = (function cljs$core$with_meta(o,meta){
if(goog.isFunction(o)){
return (new cljs.core.MetaFn(o,meta));
} else {
if((o == null)){
return null;
} else {
return cljs.core._with_meta(o,meta);
}
}
});
/**
* Returns the metadata of obj, returns nil if there is no metadata.
*/
cljs.core.meta = (function cljs$core$meta(o){
if((function (){var and__8770__auto__ = !((o == null));
if(and__8770__auto__){
if(!((o == null))){
if(((o.cljs$lang$protocol_mask$partition0$ & (131072))) || ((cljs.core.PROTOCOL_SENTINEL === o.cljs$core$IMeta$))){
return true;
} else {
if((!o.cljs$lang$protocol_mask$partition0$)){
return cljs.core.native_satisfies_QMARK_(cljs.core.IMeta,o);
} else {
return false;
}
}
} else {
return cljs.core.native_satisfies_QMARK_(cljs.core.IMeta,o);
}
} else {
return and__8770__auto__;
}
})()){
return cljs.core._meta(o);
} else {
return null;
}
});
/**
* For a list or queue, same as first, for a vector, same as, but much
* more efficient than, last. If the collection is empty, returns nil.
*/
cljs.core.peek = (function cljs$core$peek(coll){
if((coll == null)){
return null;
} else {
return cljs.core._peek(coll);
}
});
/**
* For a list or queue, returns a new list/queue without the first
* item, for a vector, returns a new vector without the last item.
* Note - not the same as next/butlast.
*/
cljs.core.pop = (function cljs$core$pop(coll){
if((coll == null)){
return null;
} else {
return cljs.core._pop(coll);
}
});
/**
* disj[oin]. Returns a new set of the same (hashed/sorted) type, that
* does not contain key(s).
*/
cljs.core.disj = (function cljs$core$disj(var_args){
var G__12035 = arguments.length;
switch (G__12035) {
case 1:
return cljs.core.disj.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.disj.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___12037 = arguments.length;
var i__10062__auto___12038 = (0);
while(true){
if((i__10062__auto___12038 < len__10061__auto___12037)){
args_arr__10084__auto__.push((arguments[i__10062__auto___12038]));
var G__12039 = (i__10062__auto___12038 + (1));
i__10062__auto___12038 = G__12039;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((2)),(0),null));
return cljs.core.disj.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__10085__auto__);
}
});
cljs.core.disj.cljs$core$IFn$_invoke$arity$1 = (function (coll){
return coll;
});
cljs.core.disj.cljs$core$IFn$_invoke$arity$2 = (function (coll,k){
if((coll == null)){
return null;
} else {
return cljs.core._disjoin(coll,k);
}
});
cljs.core.disj.cljs$core$IFn$_invoke$arity$variadic = (function (coll,k,ks){
while(true){
if((coll == null)){
return null;
} else {
var ret = cljs.core.disj.cljs$core$IFn$_invoke$arity$2(coll,k);
if(cljs.core.truth_(ks)){
var G__12040 = ret;
var G__12041 = cljs.core.first(ks);
var G__12042 = cljs.core.next(ks);
coll = G__12040;
k = G__12041;
ks = G__12042;
continue;
} else {
return ret;
}
}
break;
}
});
cljs.core.disj.cljs$lang$applyTo = (function (seq12032){
var G__12033 = cljs.core.first(seq12032);
var seq12032__$1 = cljs.core.next(seq12032);
var G__12034 = cljs.core.first(seq12032__$1);
var seq12032__$2 = cljs.core.next(seq12032__$1);
return cljs.core.disj.cljs$core$IFn$_invoke$arity$variadic(G__12033,G__12034,seq12032__$2);
});
cljs.core.disj.cljs$lang$maxFixedArity = (2);
/**
* Returns true if coll has no items - same as (not (seq coll)).
* Please use the idiom (seq x) rather than (not (empty? x))
*/
cljs.core.empty_QMARK_ = (function cljs$core$empty_QMARK_(coll){
return ((coll == null)) || (cljs.core.not(cljs.core.seq(coll)));
});
/**
* Returns true if x satisfies ICollection
*/
cljs.core.coll_QMARK_ = (function cljs$core$coll_QMARK_(x){
if((x == null)){
return false;
} else {
if(!((x == null))){
if(((x.cljs$lang$protocol_mask$partition0$ & (8))) || ((cljs.core.PROTOCOL_SENTINEL === x.cljs$core$ICollection$))){
return true;
} else {
if((!x.cljs$lang$protocol_mask$partition0$)){
return cljs.core.native_satisfies_QMARK_(cljs.core.ICollection,x);
} else {
return false;
}
}
} else {
return cljs.core.native_satisfies_QMARK_(cljs.core.ICollection,x);
}
}
});
/**
* Returns true if x satisfies ISet
*/
cljs.core.set_QMARK_ = (function cljs$core$set_QMARK_(x){
if((x == null)){
return false;
} else {
if(!((x == null))){
if(((x.cljs$lang$protocol_mask$partition0$ & (4096))) || ((cljs.core.PROTOCOL_SENTINEL === x.cljs$core$ISet$))){
return true;
} else {
if((!x.cljs$lang$protocol_mask$partition0$)){
return cljs.core.native_satisfies_QMARK_(cljs.core.ISet,x);
} else {
return false;
}
}
} else {
return cljs.core.native_satisfies_QMARK_(cljs.core.ISet,x);
}
}
});
/**
* Returns true if coll implements Associative
*/
cljs.core.associative_QMARK_ = (function cljs$core$associative_QMARK_(x){
if(!((x == null))){
if(((x.cljs$lang$protocol_mask$partition0$ & (512))) || ((cljs.core.PROTOCOL_SENTINEL === x.cljs$core$IAssociative$))){
return true;
} else {
if((!x.cljs$lang$protocol_mask$partition0$)){
return cljs.core.native_satisfies_QMARK_(cljs.core.IAssociative,x);
} else {
return false;
}
}
} else {
return cljs.core.native_satisfies_QMARK_(cljs.core.IAssociative,x);
}
});
/**
* Returns true if coll implements IFind
*/
cljs.core.ifind_QMARK_ = (function cljs$core$ifind_QMARK_(x){
if(!((x == null))){
if((false) || ((cljs.core.PROTOCOL_SENTINEL === x.cljs$core$IFind$))){
return true;
} else {
if((!x.cljs$lang$protocol_mask$partition$)){
return cljs.core.native_satisfies_QMARK_(cljs.core.IFind,x);
} else {
return false;
}
}
} else {
return cljs.core.native_satisfies_QMARK_(cljs.core.IFind,x);
}
});
/**
* Returns true if coll satisfies ISequential
*/
cljs.core.sequential_QMARK_ = (function cljs$core$sequential_QMARK_(x){
if(!((x == null))){
if(((x.cljs$lang$protocol_mask$partition0$ & (16777216))) || ((cljs.core.PROTOCOL_SENTINEL === x.cljs$core$ISequential$))){
return true;
} else {
if((!x.cljs$lang$protocol_mask$partition0$)){
return cljs.core.native_satisfies_QMARK_(cljs.core.ISequential,x);
} else {
return false;
}
}
} else {
return cljs.core.native_satisfies_QMARK_(cljs.core.ISequential,x);
}
});
/**
* Returns true if coll satisfies ISorted
*/
cljs.core.sorted_QMARK_ = (function cljs$core$sorted_QMARK_(x){
if(!((x == null))){
if(((x.cljs$lang$protocol_mask$partition0$ & (268435456))) || ((cljs.core.PROTOCOL_SENTINEL === x.cljs$core$ISorted$))){
return true;
} else {
if((!x.cljs$lang$protocol_mask$partition0$)){
return cljs.core.native_satisfies_QMARK_(cljs.core.ISorted,x);
} else {
return false;
}
}
} else {
return cljs.core.native_satisfies_QMARK_(cljs.core.ISorted,x);
}
});
/**
* Returns true if coll satisfies IReduce
*/
cljs.core.reduceable_QMARK_ = (function cljs$core$reduceable_QMARK_(x){
if(!((x == null))){
if(((x.cljs$lang$protocol_mask$partition0$ & (524288))) || ((cljs.core.PROTOCOL_SENTINEL === x.cljs$core$IReduce$))){
return true;
} else {
if((!x.cljs$lang$protocol_mask$partition0$)){
return cljs.core.native_satisfies_QMARK_(cljs.core.IReduce,x);
} else {
return false;
}
}
} else {
return cljs.core.native_satisfies_QMARK_(cljs.core.IReduce,x);
}
});
/**
* Return true if x satisfies IMap
*/
cljs.core.map_QMARK_ = (function cljs$core$map_QMARK_(x){
if((x == null)){
return false;
} else {
if(!((x == null))){
if(((x.cljs$lang$protocol_mask$partition0$ & (1024))) || ((cljs.core.PROTOCOL_SENTINEL === x.cljs$core$IMap$))){
return true;
} else {
if((!x.cljs$lang$protocol_mask$partition0$)){
return cljs.core.native_satisfies_QMARK_(cljs.core.IMap,x);
} else {
return false;
}
}
} else {
return cljs.core.native_satisfies_QMARK_(cljs.core.IMap,x);
}
}
});
/**
* Return true if x satisfies IRecord
*/
cljs.core.record_QMARK_ = (function cljs$core$record_QMARK_(x){
if(!((x == null))){
if(((x.cljs$lang$protocol_mask$partition0$ & (67108864))) || ((cljs.core.PROTOCOL_SENTINEL === x.cljs$core$IRecord$))){
return true;
} else {
if((!x.cljs$lang$protocol_mask$partition0$)){
return cljs.core.native_satisfies_QMARK_(cljs.core.IRecord,x);
} else {
return false;
}
}
} else {
return cljs.core.native_satisfies_QMARK_(cljs.core.IRecord,x);
}
});
/**
* Return true if x satisfies IVector
*/
cljs.core.vector_QMARK_ = (function cljs$core$vector_QMARK_(x){
if(!((x == null))){
if(((x.cljs$lang$protocol_mask$partition0$ & (16384))) || ((cljs.core.PROTOCOL_SENTINEL === x.cljs$core$IVector$))){
return true;
} else {
if((!x.cljs$lang$protocol_mask$partition0$)){
return cljs.core.native_satisfies_QMARK_(cljs.core.IVector,x);
} else {
return false;
}
}
} else {
return cljs.core.native_satisfies_QMARK_(cljs.core.IVector,x);
}
});
/**
* Return true if x is satisfies IChunkedSeq.
*/
cljs.core.chunked_seq_QMARK_ = (function cljs$core$chunked_seq_QMARK_(x){
if(!((x == null))){
if(((x.cljs$lang$protocol_mask$partition1$ & (512))) || ((cljs.core.PROTOCOL_SENTINEL === x.cljs$core$IChunkedSeq$))){
return true;
} else {
return false;
}
} else {
return false;
}
});
/**
* Create JavaSript object from an even number arguments representing
* interleaved keys and values.
*/
cljs.core.js_obj = (function cljs$core$js_obj(var_args){
var G__12056 = arguments.length;
switch (G__12056) {
case 0:
return cljs.core.js_obj.cljs$core$IFn$_invoke$arity$0();
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___12060 = arguments.length;
var i__10062__auto___12061 = (0);
while(true){
if((i__10062__auto___12061 < len__10061__auto___12060)){
args_arr__10084__auto__.push((arguments[i__10062__auto___12061]));
var G__12062 = (i__10062__auto___12061 + (1));
i__10062__auto___12061 = G__12062;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((0)),(0),null));
return cljs.core.js_obj.cljs$core$IFn$_invoke$arity$variadic(argseq__10085__auto__);
}
});
cljs.core.js_obj.cljs$core$IFn$_invoke$arity$0 = (function (){
return {};
});
cljs.core.js_obj.cljs$core$IFn$_invoke$arity$variadic = (function (keyvals){
return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(goog.object.create,keyvals);
});
cljs.core.js_obj.cljs$lang$applyTo = (function (seq12055){
return cljs.core.js_obj.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq12055));
});
cljs.core.js_obj.cljs$lang$maxFixedArity = (0);
/**
* Return the JavaScript keys for an object.
*/
cljs.core.js_keys = (function cljs$core$js_keys(obj){
return goog.object.getKeys(obj);
});
/**
* Delete a property from a JavaScript object.
*/
cljs.core.js_delete = (function cljs$core$js_delete(obj,key){
return delete obj[key];
});
cljs.core.array_copy = (function cljs$core$array_copy(from,i,to,j,len){
var i__$1 = i;
var j__$1 = j;
var len__$1 = len;
while(true){
if((len__$1 === (0))){
return to;
} else {
(to[j__$1] = (from[i__$1]));
var G__12063 = (i__$1 + (1));
var G__12064 = (j__$1 + (1));
var G__12065 = (len__$1 - (1));
i__$1 = G__12063;
j__$1 = G__12064;
len__$1 = G__12065;
continue;
}
break;
}
});
cljs.core.array_copy_downward = (function cljs$core$array_copy_downward(from,i,to,j,len){
var i__$1 = (i + (len - (1)));
var j__$1 = (j + (len - (1)));
var len__$1 = len;
while(true){
if((len__$1 === (0))){
return to;
} else {
(to[j__$1] = (from[i__$1]));
var G__12066 = (i__$1 - (1));
var G__12067 = (j__$1 - (1));
var G__12068 = (len__$1 - (1));
i__$1 = G__12066;
j__$1 = G__12067;
len__$1 = G__12068;
continue;
}
break;
}
});
cljs.core.lookup_sentinel = {};
/**
* Returns true if x is the value false, false otherwise.
*/
cljs.core.false_QMARK_ = (function cljs$core$false_QMARK_(x){
return x === false;
});
/**
* Returns true if x is the value true, false otherwise.
*/
cljs.core.true_QMARK_ = (function cljs$core$true_QMARK_(x){
return x === true;
});
/**
* Return true if x is a Boolean
*/
cljs.core.boolean_QMARK_ = (function cljs$core$boolean_QMARK_(x){
return (x === true) || (x === false);
});
/**
* Returns true if x identical to the JavaScript undefined value.
*/
cljs.core.undefined_QMARK_ = (function cljs$core$undefined_QMARK_(x){
return (void 0 === x);
});
/**
* Return true if s satisfies ISeq
*/
cljs.core.seq_QMARK_ = (function cljs$core$seq_QMARK_(s){
if((s == null)){
return false;
} else {
if(!((s == null))){
if(((s.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === s.cljs$core$ISeq$))){
return true;
} else {
if((!s.cljs$lang$protocol_mask$partition0$)){
return cljs.core.native_satisfies_QMARK_(cljs.core.ISeq,s);
} else {
return false;
}
}
} else {
return cljs.core.native_satisfies_QMARK_(cljs.core.ISeq,s);
}
}
});
/**
* Return true if the seq function is supported for s
*/
cljs.core.seqable_QMARK_ = (function cljs$core$seqable_QMARK_(s){
var or__8782__auto__ = ((!((s == null)))?((((s.cljs$lang$protocol_mask$partition0$ & (8388608))) || ((cljs.core.PROTOCOL_SENTINEL === s.cljs$core$ISeqable$)))?true:(((!s.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.ISeqable,s):false)):cljs.core.native_satisfies_QMARK_(cljs.core.ISeqable,s));
if(or__8782__auto__){
return or__8782__auto__;
} else {
return (cljs.core.array_QMARK_(s)) || (typeof s === 'string');
}
});
/**
* Coerce to boolean
*/
cljs.core.boolean$ = (function cljs$core$boolean(x){
if((x == null)){
return false;
} else {
if(x === false){
return false;
} else {
return true;
}
}
});
/**
* Returns true if f returns true for fn? or satisfies IFn.
*/
cljs.core.ifn_QMARK_ = (function cljs$core$ifn_QMARK_(f){
var or__8782__auto__ = cljs.core.fn_QMARK_(f);
if(or__8782__auto__){
return or__8782__auto__;
} else {
if(!((f == null))){
if(((f.cljs$lang$protocol_mask$partition0$ & (1))) || ((cljs.core.PROTOCOL_SENTINEL === f.cljs$core$IFn$))){
return true;
} else {
if((!f.cljs$lang$protocol_mask$partition0$)){
return cljs.core.native_satisfies_QMARK_(cljs.core.IFn,f);
} else {
return false;
}
}
} else {
return cljs.core.native_satisfies_QMARK_(cljs.core.IFn,f);
}
}
});
/**
* Returns true if n is a JavaScript number with no decimal part.
*/
cljs.core.integer_QMARK_ = (function cljs$core$integer_QMARK_(n){
return (typeof n === 'number') && (!(isNaN(n))) && (!((n === Infinity))) && ((parseFloat(n) === parseInt(n,(10))));
});
/**
* Return true if x satisfies integer? or is an instance of goog.math.Integer
* or goog.math.Long.
*/
cljs.core.int_QMARK_ = (function cljs$core$int_QMARK_(x){
return (cljs.core.integer_QMARK_(x)) || ((x instanceof goog.math.Integer)) || ((x instanceof goog.math.Long));
});
/**
* Return true if x satisfies int? and is positive.
*/
cljs.core.pos_int_QMARK_ = (function cljs$core$pos_int_QMARK_(x){
if(cljs.core.integer_QMARK_(x)){
return (x > (0));
} else {
if((x instanceof goog.math.Integer)){
return (cljs.core.not(x.isNegative())) && (cljs.core.not(x.isZero()));
} else {
if((x instanceof goog.math.Long)){
return (cljs.core.not(x.isNegative())) && (cljs.core.not(x.isZero()));
} else {
return false;
}
}
}
});
/**
* Return true if x satisfies int? and is negative.
*/
cljs.core.neg_int_QMARK_ = (function cljs$core$neg_int_QMARK_(x){
if(cljs.core.integer_QMARK_(x)){
return (x < (0));
} else {
if((x instanceof goog.math.Integer)){
return x.isNegative();
} else {
if((x instanceof goog.math.Long)){
return x.isNegative();
} else {
return false;
}
}
}
});
/**
* Return true if x satisfies int? and is a natural integer value.
*/
cljs.core.nat_int_QMARK_ = (function cljs$core$nat_int_QMARK_(x){
if(cljs.core.integer_QMARK_(x)){
return (!((x < (0)))) || ((x === (0)));
} else {
if((x instanceof goog.math.Integer)){
var or__8782__auto__ = cljs.core.not(x.isNegative());
if(or__8782__auto__){
return or__8782__auto__;
} else {
return x.isZero();
}
} else {
if((x instanceof goog.math.Long)){
var or__8782__auto__ = cljs.core.not(x.isNegative());
if(or__8782__auto__){
return or__8782__auto__;
} else {
return x.isZero();
}
} else {
return false;
}
}
}
});
/**
* Returns true for JavaScript numbers, false otherwise.
*/
cljs.core.float_QMARK_ = (function cljs$core$float_QMARK_(x){
return typeof x === 'number';
});
/**
* Returns true for JavaScript numbers, false otherwise.
*/
cljs.core.double_QMARK_ = (function cljs$core$double_QMARK_(x){
return typeof x === 'number';
});
/**
* Returns true for Infinity and -Infinity values.
*/
cljs.core.infinite_QMARK_ = (function cljs$core$infinite_QMARK_(x){
return ((x === Number.POSITIVE_INFINITY)) || ((x === Number.NEGATIVE_INFINITY));
});
/**
* Returns true if key is present in the given collection, otherwise
* returns false. Note that for numerically indexed collections like
* vectors and arrays, this tests if the numeric key is within the
* range of indexes. 'contains?' operates constant or logarithmic time;
* it will not perform a linear search for a value. See also 'some'.
*/
cljs.core.contains_QMARK_ = (function cljs$core$contains_QMARK_(coll,v){
if((cljs.core.get.cljs$core$IFn$_invoke$arity$3(coll,v,cljs.core.lookup_sentinel) === cljs.core.lookup_sentinel)){
return false;
} else {
return true;
}
});
/**
* Returns the map entry for key, or nil if key not present.
*/
cljs.core.find = (function cljs$core$find(coll,k){
if(cljs.core.ifind_QMARK_(coll)){
return cljs.core._find(coll,k);
} else {
if((!((coll == null))) && (cljs.core.associative_QMARK_(coll)) && (cljs.core.contains_QMARK_(coll,k))){
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,cljs.core.get.cljs$core$IFn$_invoke$arity$2(coll,k)], null);
} else {
return null;
}
}
});
/**
* Returns true if no two of the arguments are =
*/
cljs.core.distinct_QMARK_ = (function cljs$core$distinct_QMARK_(var_args){
var G__12080 = arguments.length;
switch (G__12080) {
case 1:
return cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___12082 = arguments.length;
var i__10062__auto___12083 = (0);
while(true){
if((i__10062__auto___12083 < len__10061__auto___12082)){
args_arr__10084__auto__.push((arguments[i__10062__auto___12083]));
var G__12084 = (i__10062__auto___12083 + (1));
i__10062__auto___12083 = G__12084;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((2)),(0),null));
return cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__10085__auto__);
}
});
cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$1 = (function (x){
return true;
});
cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$2 = (function (x,y){
return !(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(x,y));
});
cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$variadic = (function (x,y,more){
if(!(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(x,y))){
var s = cljs.core.PersistentHashSet.createAsIfByAssoc([x,y]);
var xs = more;
while(true){
var x__$1 = cljs.core.first(xs);
var etc = cljs.core.next(xs);
if(cljs.core.truth_(xs)){
if(cljs.core.contains_QMARK_(s,x__$1)){
return false;
} else {
var G__12085 = cljs.core.conj.cljs$core$IFn$_invoke$arity$2(s,x__$1);
var G__12086 = etc;
s = G__12085;
xs = G__12086;
continue;
}
} else {
return true;
}
break;
}
} else {
return false;
}
});
cljs.core.distinct_QMARK_.cljs$lang$applyTo = (function (seq12077){
var G__12078 = cljs.core.first(seq12077);
var seq12077__$1 = cljs.core.next(seq12077);
var G__12079 = cljs.core.first(seq12077__$1);
var seq12077__$2 = cljs.core.next(seq12077__$1);
return cljs.core.distinct_QMARK_.cljs$core$IFn$_invoke$arity$variadic(G__12078,G__12079,seq12077__$2);
});
cljs.core.distinct_QMARK_.cljs$lang$maxFixedArity = (2);
/**
* Comparator. Returns a negative number, zero, or a positive number
* when x is logically 'less than', 'equal to', or 'greater than'
* y. Uses IComparable if available and google.array.defaultCompare for objects
* of the same type and special-cases nil to be less than any other object.
*/
cljs.core.compare = (function cljs$core$compare(x,y){
if((x === y)){
return (0);
} else {
if((x == null)){
return (-1);
} else {
if((y == null)){
return (1);
} else {
if(typeof x === 'number'){
if(typeof y === 'number'){
return goog.array.defaultCompare(x,y);
} else {
throw (new Error(["Cannot compare ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(x)," to ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join('')));
}
} else {
if(((!((x == null)))?((((x.cljs$lang$protocol_mask$partition1$ & (2048))) || ((cljs.core.PROTOCOL_SENTINEL === x.cljs$core$IComparable$)))?true:(((!x.cljs$lang$protocol_mask$partition1$))?cljs.core.native_satisfies_QMARK_(cljs.core.IComparable,x):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IComparable,x))){
return cljs.core._compare(x,y);
} else {
if(((typeof x === 'string') || (cljs.core.array_QMARK_(x)) || (x === true) || (x === false)) && ((cljs.core.type(x) === cljs.core.type(y)))){
return goog.array.defaultCompare(x,y);
} else {
throw (new Error(["Cannot compare ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(x)," to ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join('')));
}
}
}
}
}
}
});
/**
* Compare indexed collection.
*/
cljs.core.compare_indexed = (function cljs$core$compare_indexed(var_args){
var G__12089 = arguments.length;
switch (G__12089) {
case 2:
return cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 4:
return cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2 = (function (xs,ys){
var xl = cljs.core.count(xs);
var yl = cljs.core.count(ys);
if((xl < yl)){
return (-1);
} else {
if((xl > yl)){
return (1);
} else {
if((xl === (0))){
return (0);
} else {
return cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$4(xs,ys,xl,(0));
}
}
}
});
cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$4 = (function (xs,ys,len,n){
while(true){
var d = cljs.core.compare(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(xs,n),cljs.core.nth.cljs$core$IFn$_invoke$arity$2(ys,n));
if(((d === (0))) && (((n + (1)) < len))){
var G__12091 = xs;
var G__12092 = ys;
var G__12093 = len;
var G__12094 = (n + (1));
xs = G__12091;
ys = G__12092;
len = G__12093;
n = G__12094;
continue;
} else {
return d;
}
break;
}
});
cljs.core.compare_indexed.cljs$lang$maxFixedArity = 4;
/**
* Given a fn that might be boolean valued or a comparator,
* return a fn that is a comparator.
*/
cljs.core.fn__GT_comparator = (function cljs$core$fn__GT_comparator(f){
if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(f,cljs.core.compare)){
return cljs.core.compare;
} else {
return (function (x,y){
var r = (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(x,y) : f.call(null,x,y));
if(typeof r === 'number'){
return r;
} else {
if(cljs.core.truth_(r)){
return (-1);
} else {
if(cljs.core.truth_((f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(y,x) : f.call(null,y,x)))){
return (1);
} else {
return (0);
}
}
}
});
}
});
/**
* Returns a sorted sequence of the items in coll. Comp can be
* boolean-valued comparison function, or a -/0/+ valued comparator.
* Comp defaults to compare.
*/
cljs.core.sort = (function cljs$core$sort(var_args){
var G__12096 = arguments.length;
switch (G__12096) {
case 1:
return cljs.core.sort.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.sort.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.sort.cljs$core$IFn$_invoke$arity$1 = (function (coll){
return cljs.core.sort.cljs$core$IFn$_invoke$arity$2(cljs.core.compare,coll);
});
cljs.core.sort.cljs$core$IFn$_invoke$arity$2 = (function (comp,coll){
if(cljs.core.seq(coll)){
var a = cljs.core.to_array(coll);
var G__12097_12100 = a;
var G__12098_12101 = cljs.core.fn__GT_comparator(comp);
goog.array.stableSort(G__12097_12100,G__12098_12101);
return cljs.core.seq(a);
} else {
return cljs.core.List.EMPTY;
}
});
cljs.core.sort.cljs$lang$maxFixedArity = 2;
/**
* Returns a sorted sequence of the items in coll, where the sort
* order is determined by comparing (keyfn item). Comp can be
* boolean-valued comparison funcion, or a -/0/+ valued comparator.
* Comp defaults to compare.
*/
cljs.core.sort_by = (function cljs$core$sort_by(var_args){
var G__12103 = arguments.length;
switch (G__12103) {
case 2:
return cljs.core.sort_by.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.sort_by.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.sort_by.cljs$core$IFn$_invoke$arity$2 = (function (keyfn,coll){
return cljs.core.sort_by.cljs$core$IFn$_invoke$arity$3(keyfn,cljs.core.compare,coll);
});
cljs.core.sort_by.cljs$core$IFn$_invoke$arity$3 = (function (keyfn,comp,coll){
return cljs.core.sort.cljs$core$IFn$_invoke$arity$2((function (x,y){
var G__12105 = (keyfn.cljs$core$IFn$_invoke$arity$1 ? keyfn.cljs$core$IFn$_invoke$arity$1(x) : keyfn.call(null,x));
var G__12106 = (keyfn.cljs$core$IFn$_invoke$arity$1 ? keyfn.cljs$core$IFn$_invoke$arity$1(y) : keyfn.call(null,y));
var fexpr__12104 = cljs.core.fn__GT_comparator(comp);
return (fexpr__12104.cljs$core$IFn$_invoke$arity$2 ? fexpr__12104.cljs$core$IFn$_invoke$arity$2(G__12105,G__12106) : fexpr__12104.call(null,G__12105,G__12106));
}),coll);
});
cljs.core.sort_by.cljs$lang$maxFixedArity = 3;
cljs.core.seq_reduce = (function cljs$core$seq_reduce(var_args){
var G__12109 = arguments.length;
switch (G__12109) {
case 2:
return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2 = (function (f,coll){
var temp__5455__auto__ = cljs.core.seq(coll);
if(temp__5455__auto__){
var s = temp__5455__auto__;
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(f,cljs.core.first(s),cljs.core.next(s));
} else {
return (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));
}
});
cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3 = (function (f,val,coll){
var val__$1 = val;
var coll__$1 = cljs.core.seq(coll);
while(true){
if(coll__$1){
var nval = (function (){var G__12110 = val__$1;
var G__12111 = cljs.core.first(coll__$1);
return (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__12110,G__12111) : f.call(null,G__12110,G__12111));
})();
if(cljs.core.reduced_QMARK_(nval)){
return cljs.core.deref(nval);
} else {
var G__12113 = nval;
var G__12114 = cljs.core.next(coll__$1);
val__$1 = G__12113;
coll__$1 = G__12114;
continue;
}
} else {
return val__$1;
}
break;
}
});
cljs.core.seq_reduce.cljs$lang$maxFixedArity = 3;
/**
* Return a random permutation of coll
*/
cljs.core.shuffle = (function cljs$core$shuffle(coll){
var a = cljs.core.to_array(coll);
goog.array.shuffle(a);
return cljs.core.vec(a);
});
cljs.core.iter_reduce = (function cljs$core$iter_reduce(var_args){
var G__12116 = arguments.length;
switch (G__12116) {
case 2:
return cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$2 = (function (coll,f){
var iter = cljs.core._iterator(coll);
if(cljs.core.truth_(iter.hasNext())){
var init = iter.next();
var acc = init;
while(true){
if(iter.hasNext()){
var nacc = (function (){var G__12117 = acc;
var G__12118 = iter.next();
return (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__12117,G__12118) : f.call(null,G__12117,G__12118));
})();
if(cljs.core.reduced_QMARK_(nacc)){
return cljs.core.deref(nacc);
} else {
var G__12122 = nacc;
acc = G__12122;
continue;
}
} else {
return acc;
}
break;
}
} else {
return (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));
}
});
cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$3 = (function (coll,f,init){
var iter = cljs.core._iterator(coll);
var acc = init;
while(true){
if(iter.hasNext()){
var nacc = (function (){var G__12119 = acc;
var G__12120 = iter.next();
return (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__12119,G__12120) : f.call(null,G__12119,G__12120));
})();
if(cljs.core.reduced_QMARK_(nacc)){
return cljs.core.deref(nacc);
} else {
var G__12123 = nacc;
acc = G__12123;
continue;
}
} else {
return acc;
}
break;
}
});
cljs.core.iter_reduce.cljs$lang$maxFixedArity = 3;
/**
* f should be a function of 2 arguments. If val is not supplied,
* returns the result of applying f to the first 2 items in coll, then
* applying f to that result and the 3rd item, etc. If coll contains no
* items, f must accept no arguments as well, and reduce returns the
* result of calling f with no arguments. If coll has only 1 item, it
* is returned and f is not called. If val is supplied, returns the
* result of applying f to val and the first item in coll, then
* applying f to that result and the 2nd item, etc. If coll contains no
* items, returns val and f is not called.
*/
cljs.core.reduce = (function cljs$core$reduce(var_args){
var G__12125 = arguments.length;
switch (G__12125) {
case 2:
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.reduce.cljs$core$IFn$_invoke$arity$2 = (function (f,coll){
if(((!((coll == null)))?((((coll.cljs$lang$protocol_mask$partition0$ & (524288))) || ((cljs.core.PROTOCOL_SENTINEL === coll.cljs$core$IReduce$)))?true:false):false)){
return coll.cljs$core$IReduce$_reduce$arity$2(null,f);
} else {
if(cljs.core.array_QMARK_(coll)){
return cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$2(coll,f);
} else {
if(typeof coll === 'string'){
return cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$2(coll,f);
} else {
if(cljs.core.native_satisfies_QMARK_(cljs.core.IReduce,coll)){
return cljs.core._reduce.cljs$core$IFn$_invoke$arity$2(coll,f);
} else {
if(cljs.core.iterable_QMARK_(coll)){
return cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$2(coll,f);
} else {
return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll);
}
}
}
}
}
});
cljs.core.reduce.cljs$core$IFn$_invoke$arity$3 = (function (f,val,coll){
if(((!((coll == null)))?((((coll.cljs$lang$protocol_mask$partition0$ & (524288))) || ((cljs.core.PROTOCOL_SENTINEL === coll.cljs$core$IReduce$)))?true:false):false)){
return coll.cljs$core$IReduce$_reduce$arity$3(null,f,val);
} else {
if(cljs.core.array_QMARK_(coll)){
return cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$3(coll,f,val);
} else {
if(typeof coll === 'string'){
return cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$3(coll,f,val);
} else {
if(cljs.core.native_satisfies_QMARK_(cljs.core.IReduce,coll)){
return cljs.core._reduce.cljs$core$IFn$_invoke$arity$3(coll,f,val);
} else {
if(cljs.core.iterable_QMARK_(coll)){
return cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$3(coll,f,val);
} else {
return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,val,coll);
}
}
}
}
}
});
cljs.core.reduce.cljs$lang$maxFixedArity = 3;
/**
* Reduces an associative collection. f should be a function of 3
* arguments. Returns the result of applying f to init, the first key
* and the first value in coll, then applying f to that result and the
* 2nd key and value, etc. If coll contains no entries, returns init
* and f is not called. Note that reduce-kv is supported on vectors,
* where the keys will be the ordinals.
*/
cljs.core.reduce_kv = (function cljs$core$reduce_kv(f,init,coll){
if(!((coll == null))){
return cljs.core._kv_reduce(coll,f,init);
} else {
return init;
}
});
/**
* Returns its argument.
*/
cljs.core.identity = (function cljs$core$identity(x){
return x;
});
/**
* Takes a reducing function f of 2 args and returns a fn suitable for
* transduce by adding an arity-1 signature that calls cf (default -
* identity) on the result argument.
*/
cljs.core.completing = (function cljs$core$completing(var_args){
var G__12130 = arguments.length;
switch (G__12130) {
case 1:
return cljs.core.completing.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.completing.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.completing.cljs$core$IFn$_invoke$arity$1 = (function (f){
return cljs.core.completing.cljs$core$IFn$_invoke$arity$2(f,cljs.core.identity);
});
cljs.core.completing.cljs$core$IFn$_invoke$arity$2 = (function (f,cf){
return (function() {
var G__12132 = null;
var G__12132__0 = (function (){
return (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));
});
var G__12132__1 = (function (x){
return (cf.cljs$core$IFn$_invoke$arity$1 ? cf.cljs$core$IFn$_invoke$arity$1(x) : cf.call(null,x));
});
var G__12132__2 = (function (x,y){
return (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(x,y) : f.call(null,x,y));
});
G__12132 = function(x,y){
switch(arguments.length){
case 0:
return G__12132__0.call(this);
case 1:
return G__12132__1.call(this,x);
case 2:
return G__12132__2.call(this,x,y);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__12132.cljs$core$IFn$_invoke$arity$0 = G__12132__0;
G__12132.cljs$core$IFn$_invoke$arity$1 = G__12132__1;
G__12132.cljs$core$IFn$_invoke$arity$2 = G__12132__2;
return G__12132;
})()
});
cljs.core.completing.cljs$lang$maxFixedArity = 2;
/**
* reduce with a transformation of f (xf). If init is not
* supplied, (f) will be called to produce it. f should be a reducing
* step function that accepts both 1 and 2 arguments, if it accepts
* only 2 you can add the arity-1 with 'completing'. Returns the result
* of applying (the transformed) xf to init and the first item in coll,
* then applying xf to that result and the 2nd item, etc. If coll
* contains no items, returns init and f is not called. Note that
* certain transforms may inject or skip items.
*/
cljs.core.transduce = (function cljs$core$transduce(var_args){
var G__12134 = arguments.length;
switch (G__12134) {
case 3:
return cljs.core.transduce.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
case 4:
return cljs.core.transduce.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.transduce.cljs$core$IFn$_invoke$arity$3 = (function (xform,f,coll){
return cljs.core.transduce.cljs$core$IFn$_invoke$arity$4(xform,f,(f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null)),coll);
});
cljs.core.transduce.cljs$core$IFn$_invoke$arity$4 = (function (xform,f,init,coll){
var f__$1 = (xform.cljs$core$IFn$_invoke$arity$1 ? xform.cljs$core$IFn$_invoke$arity$1(f) : xform.call(null,f));
var ret = cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(f__$1,init,coll);
return (f__$1.cljs$core$IFn$_invoke$arity$1 ? f__$1.cljs$core$IFn$_invoke$arity$1(ret) : f__$1.call(null,ret));
});
cljs.core.transduce.cljs$lang$maxFixedArity = 4;
/**
* Returns the sum of nums. (+) returns 0.
*/
cljs.core._PLUS_ = (function cljs$core$_PLUS_(var_args){
var G__12140 = arguments.length;
switch (G__12140) {
case 0:
return cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$0();
break;
case 1:
return cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___12142 = arguments.length;
var i__10062__auto___12143 = (0);
while(true){
if((i__10062__auto___12143 < len__10061__auto___12142)){
args_arr__10084__auto__.push((arguments[i__10062__auto___12143]));
var G__12144 = (i__10062__auto___12143 + (1));
i__10062__auto___12143 = G__12144;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((2)),(0),null));
return cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__10085__auto__);
}
});
cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$0 = (function (){
return (0);
});
cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$1 = (function (x){
return x;
});
cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$2 = (function (x,y){
return (x + y);
});
cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$variadic = (function (x,y,more){
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._PLUS_,(x + y),more);
});
cljs.core._PLUS_.cljs$lang$applyTo = (function (seq12137){
var G__12138 = cljs.core.first(seq12137);
var seq12137__$1 = cljs.core.next(seq12137);
var G__12139 = cljs.core.first(seq12137__$1);
var seq12137__$2 = cljs.core.next(seq12137__$1);
return cljs.core._PLUS_.cljs$core$IFn$_invoke$arity$variadic(G__12138,G__12139,seq12137__$2);
});
cljs.core._PLUS_.cljs$lang$maxFixedArity = (2);
/**
* If no ys are supplied, returns the negation of x, else subtracts
* the ys from x and returns the result.
*/
cljs.core._ = (function cljs$core$_(var_args){
var G__12149 = arguments.length;
switch (G__12149) {
case 1:
return cljs.core._.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core._.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___12151 = arguments.length;
var i__10062__auto___12152 = (0);
while(true){
if((i__10062__auto___12152 < len__10061__auto___12151)){
args_arr__10084__auto__.push((arguments[i__10062__auto___12152]));
var G__12153 = (i__10062__auto___12152 + (1));
i__10062__auto___12152 = G__12153;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((2)),(0),null));
return cljs.core._.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__10085__auto__);
}
});
cljs.core._.cljs$core$IFn$_invoke$arity$1 = (function (x){
return (- x);
});
cljs.core._.cljs$core$IFn$_invoke$arity$2 = (function (x,y){
return (x - y);
});
cljs.core._.cljs$core$IFn$_invoke$arity$variadic = (function (x,y,more){
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._,(x - y),more);
});
cljs.core._.cljs$lang$applyTo = (function (seq12146){
var G__12147 = cljs.core.first(seq12146);
var seq12146__$1 = cljs.core.next(seq12146);
var G__12148 = cljs.core.first(seq12146__$1);
var seq12146__$2 = cljs.core.next(seq12146__$1);
return cljs.core._.cljs$core$IFn$_invoke$arity$variadic(G__12147,G__12148,seq12146__$2);
});
cljs.core._.cljs$lang$maxFixedArity = (2);
/**
* Returns the product of nums. (*) returns 1.
*/
cljs.core._STAR_ = (function cljs$core$_STAR_(var_args){
var G__12158 = arguments.length;
switch (G__12158) {
case 0:
return cljs.core._STAR_.cljs$core$IFn$_invoke$arity$0();
break;
case 1:
return cljs.core._STAR_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core._STAR_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___12160 = arguments.length;
var i__10062__auto___12161 = (0);
while(true){
if((i__10062__auto___12161 < len__10061__auto___12160)){
args_arr__10084__auto__.push((arguments[i__10062__auto___12161]));
var G__12162 = (i__10062__auto___12161 + (1));
i__10062__auto___12161 = G__12162;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((2)),(0),null));
return cljs.core._STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__10085__auto__);
}
});
cljs.core._STAR_.cljs$core$IFn$_invoke$arity$0 = (function (){
return (1);
});
cljs.core._STAR_.cljs$core$IFn$_invoke$arity$1 = (function (x){
return x;
});
cljs.core._STAR_.cljs$core$IFn$_invoke$arity$2 = (function (x,y){
return (x * y);
});
cljs.core._STAR_.cljs$core$IFn$_invoke$arity$variadic = (function (x,y,more){
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._STAR_,(x * y),more);
});
cljs.core._STAR_.cljs$lang$applyTo = (function (seq12155){
var G__12156 = cljs.core.first(seq12155);
var seq12155__$1 = cljs.core.next(seq12155);
var G__12157 = cljs.core.first(seq12155__$1);
var seq12155__$2 = cljs.core.next(seq12155__$1);
return cljs.core._STAR_.cljs$core$IFn$_invoke$arity$variadic(G__12156,G__12157,seq12155__$2);
});
cljs.core._STAR_.cljs$lang$maxFixedArity = (2);
/**
* If no denominators are supplied, returns 1/numerator,
* else returns numerator divided by all of the denominators.
*/
cljs.core._SLASH_ = (function cljs$core$_SLASH_(var_args){
var G__12167 = arguments.length;
switch (G__12167) {
case 1:
return cljs.core._SLASH_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core._SLASH_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___12169 = arguments.length;
var i__10062__auto___12170 = (0);
while(true){
if((i__10062__auto___12170 < len__10061__auto___12169)){
args_arr__10084__auto__.push((arguments[i__10062__auto___12170]));
var G__12171 = (i__10062__auto___12170 + (1));
i__10062__auto___12170 = G__12171;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((2)),(0),null));
return cljs.core._SLASH_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__10085__auto__);
}
});
cljs.core._SLASH_.cljs$core$IFn$_invoke$arity$1 = (function (x){
return ((1) / x);
});
cljs.core._SLASH_.cljs$core$IFn$_invoke$arity$2 = (function (x,y){
return (x / y);
});
cljs.core._SLASH_.cljs$core$IFn$_invoke$arity$variadic = (function (x,y,more){
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._SLASH_,(x / y),more);
});
cljs.core._SLASH_.cljs$lang$applyTo = (function (seq12164){
var G__12165 = cljs.core.first(seq12164);
var seq12164__$1 = cljs.core.next(seq12164);
var G__12166 = cljs.core.first(seq12164__$1);
var seq12164__$2 = cljs.core.next(seq12164__$1);
return cljs.core._SLASH_.cljs$core$IFn$_invoke$arity$variadic(G__12165,G__12166,seq12164__$2);
});
cljs.core._SLASH_.cljs$lang$maxFixedArity = (2);
/**
* Returns non-nil if nums are in monotonically increasing order,
* otherwise false.
*/
cljs.core._LT_ = (function cljs$core$_LT_(var_args){
var G__12176 = arguments.length;
switch (G__12176) {
case 1:
return cljs.core._LT_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core._LT_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___12178 = arguments.length;
var i__10062__auto___12179 = (0);
while(true){
if((i__10062__auto___12179 < len__10061__auto___12178)){
args_arr__10084__auto__.push((arguments[i__10062__auto___12179]));
var G__12180 = (i__10062__auto___12179 + (1));
i__10062__auto___12179 = G__12180;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((2)),(0),null));
return cljs.core._LT_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__10085__auto__);
}
});
cljs.core._LT_.cljs$core$IFn$_invoke$arity$1 = (function (x){
return true;
});
cljs.core._LT_.cljs$core$IFn$_invoke$arity$2 = (function (x,y){
return (x < y);
});
cljs.core._LT_.cljs$core$IFn$_invoke$arity$variadic = (function (x,y,more){
while(true){
if((x < y)){
if(cljs.core.next(more)){
var G__12181 = y;
var G__12182 = cljs.core.first(more);
var G__12183 = cljs.core.next(more);
x = G__12181;
y = G__12182;
more = G__12183;
continue;
} else {
return (y < cljs.core.first(more));
}
} else {
return false;
}
break;
}
});
cljs.core._LT_.cljs$lang$applyTo = (function (seq12173){
var G__12174 = cljs.core.first(seq12173);
var seq12173__$1 = cljs.core.next(seq12173);
var G__12175 = cljs.core.first(seq12173__$1);
var seq12173__$2 = cljs.core.next(seq12173__$1);
return cljs.core._LT_.cljs$core$IFn$_invoke$arity$variadic(G__12174,G__12175,seq12173__$2);
});
cljs.core._LT_.cljs$lang$maxFixedArity = (2);
/**
* Returns non-nil if nums are in monotonically non-decreasing order,
* otherwise false.
*/
cljs.core._LT__EQ_ = (function cljs$core$_LT__EQ_(var_args){
var G__12188 = arguments.length;
switch (G__12188) {
case 1:
return cljs.core._LT__EQ_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core._LT__EQ_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___12190 = arguments.length;
var i__10062__auto___12191 = (0);
while(true){
if((i__10062__auto___12191 < len__10061__auto___12190)){
args_arr__10084__auto__.push((arguments[i__10062__auto___12191]));
var G__12192 = (i__10062__auto___12191 + (1));
i__10062__auto___12191 = G__12192;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((2)),(0),null));
return cljs.core._LT__EQ_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__10085__auto__);
}
});
cljs.core._LT__EQ_.cljs$core$IFn$_invoke$arity$1 = (function (x){
return true;
});
cljs.core._LT__EQ_.cljs$core$IFn$_invoke$arity$2 = (function (x,y){
return (x <= y);
});
cljs.core._LT__EQ_.cljs$core$IFn$_invoke$arity$variadic = (function (x,y,more){
while(true){
if((x <= y)){
if(cljs.core.next(more)){
var G__12193 = y;
var G__12194 = cljs.core.first(more);
var G__12195 = cljs.core.next(more);
x = G__12193;
y = G__12194;
more = G__12195;
continue;
} else {
return (y <= cljs.core.first(more));
}
} else {
return false;
}
break;
}
});
cljs.core._LT__EQ_.cljs$lang$applyTo = (function (seq12185){
var G__12186 = cljs.core.first(seq12185);
var seq12185__$1 = cljs.core.next(seq12185);
var G__12187 = cljs.core.first(seq12185__$1);
var seq12185__$2 = cljs.core.next(seq12185__$1);
return cljs.core._LT__EQ_.cljs$core$IFn$_invoke$arity$variadic(G__12186,G__12187,seq12185__$2);
});
cljs.core._LT__EQ_.cljs$lang$maxFixedArity = (2);
/**
* Returns non-nil if nums are in monotonically decreasing order,
* otherwise false.
*/
cljs.core._GT_ = (function cljs$core$_GT_(var_args){
var G__12200 = arguments.length;
switch (G__12200) {
case 1:
return cljs.core._GT_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core._GT_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___12202 = arguments.length;
var i__10062__auto___12203 = (0);
while(true){
if((i__10062__auto___12203 < len__10061__auto___12202)){
args_arr__10084__auto__.push((arguments[i__10062__auto___12203]));
var G__12204 = (i__10062__auto___12203 + (1));
i__10062__auto___12203 = G__12204;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((2)),(0),null));
return cljs.core._GT_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__10085__auto__);
}
});
cljs.core._GT_.cljs$core$IFn$_invoke$arity$1 = (function (x){
return true;
});
cljs.core._GT_.cljs$core$IFn$_invoke$arity$2 = (function (x,y){
return (x > y);
});
cljs.core._GT_.cljs$core$IFn$_invoke$arity$variadic = (function (x,y,more){
while(true){
if((x > y)){
if(cljs.core.next(more)){
var G__12205 = y;
var G__12206 = cljs.core.first(more);
var G__12207 = cljs.core.next(more);
x = G__12205;
y = G__12206;
more = G__12207;
continue;
} else {
return (y > cljs.core.first(more));
}
} else {
return false;
}
break;
}
});
cljs.core._GT_.cljs$lang$applyTo = (function (seq12197){
var G__12198 = cljs.core.first(seq12197);
var seq12197__$1 = cljs.core.next(seq12197);
var G__12199 = cljs.core.first(seq12197__$1);
var seq12197__$2 = cljs.core.next(seq12197__$1);
return cljs.core._GT_.cljs$core$IFn$_invoke$arity$variadic(G__12198,G__12199,seq12197__$2);
});
cljs.core._GT_.cljs$lang$maxFixedArity = (2);
/**
* Returns non-nil if nums are in monotonically non-increasing order,
* otherwise false.
*/
cljs.core._GT__EQ_ = (function cljs$core$_GT__EQ_(var_args){
var G__12212 = arguments.length;
switch (G__12212) {
case 1:
return cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___12214 = arguments.length;
var i__10062__auto___12215 = (0);
while(true){
if((i__10062__auto___12215 < len__10061__auto___12214)){
args_arr__10084__auto__.push((arguments[i__10062__auto___12215]));
var G__12216 = (i__10062__auto___12215 + (1));
i__10062__auto___12215 = G__12216;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((2)),(0),null));
return cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__10085__auto__);
}
});
cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$1 = (function (x){
return true;
});
cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$2 = (function (x,y){
return (x >= y);
});
cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$variadic = (function (x,y,more){
while(true){
if((x >= y)){
if(cljs.core.next(more)){
var G__12217 = y;
var G__12218 = cljs.core.first(more);
var G__12219 = cljs.core.next(more);
x = G__12217;
y = G__12218;
more = G__12219;
continue;
} else {
return (y >= cljs.core.first(more));
}
} else {
return false;
}
break;
}
});
cljs.core._GT__EQ_.cljs$lang$applyTo = (function (seq12209){
var G__12210 = cljs.core.first(seq12209);
var seq12209__$1 = cljs.core.next(seq12209);
var G__12211 = cljs.core.first(seq12209__$1);
var seq12209__$2 = cljs.core.next(seq12209__$1);
return cljs.core._GT__EQ_.cljs$core$IFn$_invoke$arity$variadic(G__12210,G__12211,seq12209__$2);
});
cljs.core._GT__EQ_.cljs$lang$maxFixedArity = (2);
/**
* Returns a number one less than num.
*/
cljs.core.dec = (function cljs$core$dec(x){
return (x - (1));
});
/**
* Returns the greatest of the nums.
*/
cljs.core.max = (function cljs$core$max(var_args){
var G__12224 = arguments.length;
switch (G__12224) {
case 1:
return cljs.core.max.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.max.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___12226 = arguments.length;
var i__10062__auto___12227 = (0);
while(true){
if((i__10062__auto___12227 < len__10061__auto___12226)){
args_arr__10084__auto__.push((arguments[i__10062__auto___12227]));
var G__12228 = (i__10062__auto___12227 + (1));
i__10062__auto___12227 = G__12228;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((2)),(0),null));
return cljs.core.max.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__10085__auto__);
}
});
cljs.core.max.cljs$core$IFn$_invoke$arity$1 = (function (x){
return x;
});
cljs.core.max.cljs$core$IFn$_invoke$arity$2 = (function (x,y){
var x__9134__auto__ = x;
var y__9135__auto__ = y;
return ((x__9134__auto__ > y__9135__auto__) ? x__9134__auto__ : y__9135__auto__);
});
cljs.core.max.cljs$core$IFn$_invoke$arity$variadic = (function (x,y,more){
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.max,(function (){var x__9134__auto__ = x;
var y__9135__auto__ = y;
return ((x__9134__auto__ > y__9135__auto__) ? x__9134__auto__ : y__9135__auto__);
})(),more);
});
cljs.core.max.cljs$lang$applyTo = (function (seq12221){
var G__12222 = cljs.core.first(seq12221);
var seq12221__$1 = cljs.core.next(seq12221);
var G__12223 = cljs.core.first(seq12221__$1);
var seq12221__$2 = cljs.core.next(seq12221__$1);
return cljs.core.max.cljs$core$IFn$_invoke$arity$variadic(G__12222,G__12223,seq12221__$2);
});
cljs.core.max.cljs$lang$maxFixedArity = (2);
/**
* Returns the least of the nums.
*/
cljs.core.min = (function cljs$core$min(var_args){
var G__12233 = arguments.length;
switch (G__12233) {
case 1:
return cljs.core.min.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.min.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___12235 = arguments.length;
var i__10062__auto___12236 = (0);
while(true){
if((i__10062__auto___12236 < len__10061__auto___12235)){
args_arr__10084__auto__.push((arguments[i__10062__auto___12236]));
var G__12237 = (i__10062__auto___12236 + (1));
i__10062__auto___12236 = G__12237;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((2)),(0),null));
return cljs.core.min.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__10085__auto__);
}
});
cljs.core.min.cljs$core$IFn$_invoke$arity$1 = (function (x){
return x;
});
cljs.core.min.cljs$core$IFn$_invoke$arity$2 = (function (x,y){
var x__9141__auto__ = x;
var y__9142__auto__ = y;
return ((x__9141__auto__ < y__9142__auto__) ? x__9141__auto__ : y__9142__auto__);
});
cljs.core.min.cljs$core$IFn$_invoke$arity$variadic = (function (x,y,more){
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.min,(function (){var x__9141__auto__ = x;
var y__9142__auto__ = y;
return ((x__9141__auto__ < y__9142__auto__) ? x__9141__auto__ : y__9142__auto__);
})(),more);
});
cljs.core.min.cljs$lang$applyTo = (function (seq12230){
var G__12231 = cljs.core.first(seq12230);
var seq12230__$1 = cljs.core.next(seq12230);
var G__12232 = cljs.core.first(seq12230__$1);
var seq12230__$2 = cljs.core.next(seq12230__$1);
return cljs.core.min.cljs$core$IFn$_invoke$arity$variadic(G__12231,G__12232,seq12230__$2);
});
cljs.core.min.cljs$lang$maxFixedArity = (2);
cljs.core.byte$ = (function cljs$core$byte(x){
return x;
});
/**
* Coerce to char
*/
cljs.core.char$ = (function cljs$core$char(x){
if(typeof x === 'number'){
return String.fromCharCode(x);
} else {
if((typeof x === 'string') && ((x.length === (1)))){
return x;
} else {
throw (new Error("Argument to char must be a character or number"));
}
}
});
cljs.core.short$ = (function cljs$core$short(x){
return x;
});
cljs.core.float$ = (function cljs$core$float(x){
return x;
});
cljs.core.double$ = (function cljs$core$double(x){
return x;
});
cljs.core.unchecked_byte = (function cljs$core$unchecked_byte(x){
return x;
});
cljs.core.unchecked_char = (function cljs$core$unchecked_char(x){
return x;
});
cljs.core.unchecked_short = (function cljs$core$unchecked_short(x){
return x;
});
cljs.core.unchecked_float = (function cljs$core$unchecked_float(x){
return x;
});
cljs.core.unchecked_double = (function cljs$core$unchecked_double(x){
return x;
});
/**
* Returns the sum of nums. (+) returns 0.
*/
cljs.core.unchecked_add = (function cljs$core$unchecked_add(var_args){
var G__12242 = arguments.length;
switch (G__12242) {
case 0:
return cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$0();
break;
case 1:
return cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___12244 = arguments.length;
var i__10062__auto___12245 = (0);
while(true){
if((i__10062__auto___12245 < len__10061__auto___12244)){
args_arr__10084__auto__.push((arguments[i__10062__auto___12245]));
var G__12246 = (i__10062__auto___12245 + (1));
i__10062__auto___12245 = G__12246;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((2)),(0),null));
return cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__10085__auto__);
}
});
cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$0 = (function (){
return (0);
});
cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$1 = (function (x){
return x;
});
cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$2 = (function (x,y){
return (x + y);
});
cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$variadic = (function (x,y,more){
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_add,(x + y),more);
});
cljs.core.unchecked_add.cljs$lang$applyTo = (function (seq12239){
var G__12240 = cljs.core.first(seq12239);
var seq12239__$1 = cljs.core.next(seq12239);
var G__12241 = cljs.core.first(seq12239__$1);
var seq12239__$2 = cljs.core.next(seq12239__$1);
return cljs.core.unchecked_add.cljs$core$IFn$_invoke$arity$variadic(G__12240,G__12241,seq12239__$2);
});
cljs.core.unchecked_add.cljs$lang$maxFixedArity = (2);
/**
* Returns the sum of nums. (+) returns 0.
*/
cljs.core.unchecked_add_int = (function cljs$core$unchecked_add_int(var_args){
var G__12251 = arguments.length;
switch (G__12251) {
case 0:
return cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$0();
break;
case 1:
return cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___12253 = arguments.length;
var i__10062__auto___12254 = (0);
while(true){
if((i__10062__auto___12254 < len__10061__auto___12253)){
args_arr__10084__auto__.push((arguments[i__10062__auto___12254]));
var G__12255 = (i__10062__auto___12254 + (1));
i__10062__auto___12254 = G__12255;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((2)),(0),null));
return cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__10085__auto__);
}
});
cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$0 = (function (){
return (0);
});
cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$1 = (function (x){
return x;
});
cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$2 = (function (x,y){
return (x + y);
});
cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$variadic = (function (x,y,more){
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_add_int,(x + y),more);
});
cljs.core.unchecked_add_int.cljs$lang$applyTo = (function (seq12248){
var G__12249 = cljs.core.first(seq12248);
var seq12248__$1 = cljs.core.next(seq12248);
var G__12250 = cljs.core.first(seq12248__$1);
var seq12248__$2 = cljs.core.next(seq12248__$1);
return cljs.core.unchecked_add_int.cljs$core$IFn$_invoke$arity$variadic(G__12249,G__12250,seq12248__$2);
});
cljs.core.unchecked_add_int.cljs$lang$maxFixedArity = (2);
/**
* Returns a number one less than x, an int.
*/
cljs.core.unchecked_dec = (function cljs$core$unchecked_dec(x){
return (x - (1));
});
/**
* Returns a number one less than x, an int.
*/
cljs.core.unchecked_dec_int = (function cljs$core$unchecked_dec_int(x){
return (x - (1));
});
/**
* If no denominators are supplied, returns 1/numerator,
* else returns numerator divided by all of the denominators.
*/
cljs.core.unchecked_divide_int = (function cljs$core$unchecked_divide_int(var_args){
var G__12260 = arguments.length;
switch (G__12260) {
case 1:
return cljs.core.unchecked_divide_int.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.unchecked_divide_int.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___12262 = arguments.length;
var i__10062__auto___12263 = (0);
while(true){
if((i__10062__auto___12263 < len__10061__auto___12262)){
args_arr__10084__auto__.push((arguments[i__10062__auto___12263]));
var G__12264 = (i__10062__auto___12263 + (1));
i__10062__auto___12263 = G__12264;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((2)),(0),null));
return cljs.core.unchecked_divide_int.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__10085__auto__);
}
});
cljs.core.unchecked_divide_int.cljs$core$IFn$_invoke$arity$1 = (function (x){
return ((1) / x);
});
cljs.core.unchecked_divide_int.cljs$core$IFn$_invoke$arity$2 = (function (x,y){
return (x / y);
});
cljs.core.unchecked_divide_int.cljs$core$IFn$_invoke$arity$variadic = (function (x,y,more){
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_divide_int,(x / y),more);
});
cljs.core.unchecked_divide_int.cljs$lang$applyTo = (function (seq12257){
var G__12258 = cljs.core.first(seq12257);
var seq12257__$1 = cljs.core.next(seq12257);
var G__12259 = cljs.core.first(seq12257__$1);
var seq12257__$2 = cljs.core.next(seq12257__$1);
return cljs.core.unchecked_divide_int.cljs$core$IFn$_invoke$arity$variadic(G__12258,G__12259,seq12257__$2);
});
cljs.core.unchecked_divide_int.cljs$lang$maxFixedArity = (2);
cljs.core.unchecked_inc = (function cljs$core$unchecked_inc(x){
return (x + (1));
});
cljs.core.unchecked_inc_int = (function cljs$core$unchecked_inc_int(x){
return (x + (1));
});
/**
* Returns the product of nums. (*) returns 1.
*/
cljs.core.unchecked_multiply = (function cljs$core$unchecked_multiply(var_args){
var G__12269 = arguments.length;
switch (G__12269) {
case 0:
return cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$0();
break;
case 1:
return cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___12271 = arguments.length;
var i__10062__auto___12272 = (0);
while(true){
if((i__10062__auto___12272 < len__10061__auto___12271)){
args_arr__10084__auto__.push((arguments[i__10062__auto___12272]));
var G__12273 = (i__10062__auto___12272 + (1));
i__10062__auto___12272 = G__12273;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((2)),(0),null));
return cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__10085__auto__);
}
});
cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$0 = (function (){
return (1);
});
cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$1 = (function (x){
return x;
});
cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$2 = (function (x,y){
return (x * y);
});
cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$variadic = (function (x,y,more){
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_multiply,(x * y),more);
});
cljs.core.unchecked_multiply.cljs$lang$applyTo = (function (seq12266){
var G__12267 = cljs.core.first(seq12266);
var seq12266__$1 = cljs.core.next(seq12266);
var G__12268 = cljs.core.first(seq12266__$1);
var seq12266__$2 = cljs.core.next(seq12266__$1);
return cljs.core.unchecked_multiply.cljs$core$IFn$_invoke$arity$variadic(G__12267,G__12268,seq12266__$2);
});
cljs.core.unchecked_multiply.cljs$lang$maxFixedArity = (2);
/**
* Returns the product of nums. (*) returns 1.
*/
cljs.core.unchecked_multiply_int = (function cljs$core$unchecked_multiply_int(var_args){
var G__12278 = arguments.length;
switch (G__12278) {
case 0:
return cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$0();
break;
case 1:
return cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___12280 = arguments.length;
var i__10062__auto___12281 = (0);
while(true){
if((i__10062__auto___12281 < len__10061__auto___12280)){
args_arr__10084__auto__.push((arguments[i__10062__auto___12281]));
var G__12282 = (i__10062__auto___12281 + (1));
i__10062__auto___12281 = G__12282;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((2)),(0),null));
return cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__10085__auto__);
}
});
cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$0 = (function (){
return (1);
});
cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$1 = (function (x){
return x;
});
cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$2 = (function (x,y){
return (x * y);
});
cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$variadic = (function (x,y,more){
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_multiply_int,(x * y),more);
});
cljs.core.unchecked_multiply_int.cljs$lang$applyTo = (function (seq12275){
var G__12276 = cljs.core.first(seq12275);
var seq12275__$1 = cljs.core.next(seq12275);
var G__12277 = cljs.core.first(seq12275__$1);
var seq12275__$2 = cljs.core.next(seq12275__$1);
return cljs.core.unchecked_multiply_int.cljs$core$IFn$_invoke$arity$variadic(G__12276,G__12277,seq12275__$2);
});
cljs.core.unchecked_multiply_int.cljs$lang$maxFixedArity = (2);
cljs.core.unchecked_negate = (function cljs$core$unchecked_negate(x){
return (- x);
});
cljs.core.unchecked_negate_int = (function cljs$core$unchecked_negate_int(x){
return (- x);
});
cljs.core.unchecked_remainder_int = (function cljs$core$unchecked_remainder_int(x,n){
return cljs.core.mod(x,n);
});
/**
* If no ys are supplied, returns the negation of x, else subtracts
* the ys from x and returns the result.
*/
cljs.core.unchecked_subtract = (function cljs$core$unchecked_subtract(var_args){
var G__12287 = arguments.length;
switch (G__12287) {
case 1:
return cljs.core.unchecked_subtract.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.unchecked_subtract.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___12289 = arguments.length;
var i__10062__auto___12290 = (0);
while(true){
if((i__10062__auto___12290 < len__10061__auto___12289)){
args_arr__10084__auto__.push((arguments[i__10062__auto___12290]));
var G__12291 = (i__10062__auto___12290 + (1));
i__10062__auto___12290 = G__12291;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((2)),(0),null));
return cljs.core.unchecked_subtract.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__10085__auto__);
}
});
cljs.core.unchecked_subtract.cljs$core$IFn$_invoke$arity$1 = (function (x){
return (- x);
});
cljs.core.unchecked_subtract.cljs$core$IFn$_invoke$arity$2 = (function (x,y){
return (x - y);
});
cljs.core.unchecked_subtract.cljs$core$IFn$_invoke$arity$variadic = (function (x,y,more){
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_subtract,(x - y),more);
});
cljs.core.unchecked_subtract.cljs$lang$applyTo = (function (seq12284){
var G__12285 = cljs.core.first(seq12284);
var seq12284__$1 = cljs.core.next(seq12284);
var G__12286 = cljs.core.first(seq12284__$1);
var seq12284__$2 = cljs.core.next(seq12284__$1);
return cljs.core.unchecked_subtract.cljs$core$IFn$_invoke$arity$variadic(G__12285,G__12286,seq12284__$2);
});
cljs.core.unchecked_subtract.cljs$lang$maxFixedArity = (2);
/**
* If no ys are supplied, returns the negation of x, else subtracts
* the ys from x and returns the result.
*/
cljs.core.unchecked_subtract_int = (function cljs$core$unchecked_subtract_int(var_args){
var G__12296 = arguments.length;
switch (G__12296) {
case 1:
return cljs.core.unchecked_subtract_int.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.unchecked_subtract_int.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___12298 = arguments.length;
var i__10062__auto___12299 = (0);
while(true){
if((i__10062__auto___12299 < len__10061__auto___12298)){
args_arr__10084__auto__.push((arguments[i__10062__auto___12299]));
var G__12300 = (i__10062__auto___12299 + (1));
i__10062__auto___12299 = G__12300;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((2)),(0),null));
return cljs.core.unchecked_subtract_int.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__10085__auto__);
}
});
cljs.core.unchecked_subtract_int.cljs$core$IFn$_invoke$arity$1 = (function (x){
return (- x);
});
cljs.core.unchecked_subtract_int.cljs$core$IFn$_invoke$arity$2 = (function (x,y){
return (x - y);
});
cljs.core.unchecked_subtract_int.cljs$core$IFn$_invoke$arity$variadic = (function (x,y,more){
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.unchecked_subtract_int,(x - y),more);
});
cljs.core.unchecked_subtract_int.cljs$lang$applyTo = (function (seq12293){
var G__12294 = cljs.core.first(seq12293);
var seq12293__$1 = cljs.core.next(seq12293);
var G__12295 = cljs.core.first(seq12293__$1);
var seq12293__$2 = cljs.core.next(seq12293__$1);
return cljs.core.unchecked_subtract_int.cljs$core$IFn$_invoke$arity$variadic(G__12294,G__12295,seq12293__$2);
});
cljs.core.unchecked_subtract_int.cljs$lang$maxFixedArity = (2);
cljs.core.fix = (function cljs$core$fix(q){
if((q >= (0))){
return Math.floor(q);
} else {
return Math.ceil(q);
}
});
/**
* Coerce to int by stripping decimal places.
*/
cljs.core.int$ = (function cljs$core$int(x){
return (x | (0));
});
/**
* Coerce to int by stripping decimal places.
*/
cljs.core.unchecked_int = (function cljs$core$unchecked_int(x){
return cljs.core.fix(x);
});
/**
* Coerce to long by stripping decimal places. Identical to `int'.
*/
cljs.core.long$ = (function cljs$core$long(x){
return cljs.core.fix(x);
});
/**
* Coerce to long by stripping decimal places. Identical to `int'.
*/
cljs.core.unchecked_long = (function cljs$core$unchecked_long(x){
return cljs.core.fix(x);
});
cljs.core.booleans = (function cljs$core$booleans(x){
return x;
});
cljs.core.bytes = (function cljs$core$bytes(x){
return x;
});
cljs.core.chars = (function cljs$core$chars(x){
return x;
});
cljs.core.shorts = (function cljs$core$shorts(x){
return x;
});
cljs.core.ints = (function cljs$core$ints(x){
return x;
});
cljs.core.floats = (function cljs$core$floats(x){
return x;
});
cljs.core.doubles = (function cljs$core$doubles(x){
return x;
});
cljs.core.longs = (function cljs$core$longs(x){
return x;
});
/**
* Modulus of num and div with original javascript behavior. i.e. bug for negative numbers
*/
cljs.core.js_mod = (function cljs$core$js_mod(n,d){
return (n % d);
});
/**
* Modulus of num and div. Truncates toward negative infinity.
*/
cljs.core.mod = (function cljs$core$mod(n,d){
return (((n % d) + d) % d);
});
/**
* quot[ient] of dividing numerator by denominator.
*/
cljs.core.quot = (function cljs$core$quot(n,d){
var rem = (n % d);
return cljs.core.fix(((n - rem) / d));
});
/**
* remainder of dividing numerator by denominator.
*/
cljs.core.rem = (function cljs$core$rem(n,d){
var q = cljs.core.quot(n,d);
return (n - (d * q));
});
/**
* Bitwise exclusive or
*/
cljs.core.bit_xor = (function cljs$core$bit_xor(var_args){
var G__12305 = arguments.length;
switch (G__12305) {
case 2:
return cljs.core.bit_xor.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___12307 = arguments.length;
var i__10062__auto___12308 = (0);
while(true){
if((i__10062__auto___12308 < len__10061__auto___12307)){
args_arr__10084__auto__.push((arguments[i__10062__auto___12308]));
var G__12309 = (i__10062__auto___12308 + (1));
i__10062__auto___12308 = G__12309;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((2)),(0),null));
return cljs.core.bit_xor.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__10085__auto__);
}
});
cljs.core.bit_xor.cljs$core$IFn$_invoke$arity$2 = (function (x,y){
return (x ^ y);
});
cljs.core.bit_xor.cljs$core$IFn$_invoke$arity$variadic = (function (x,y,more){
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.bit_xor,(x ^ y),more);
});
cljs.core.bit_xor.cljs$lang$applyTo = (function (seq12302){
var G__12303 = cljs.core.first(seq12302);
var seq12302__$1 = cljs.core.next(seq12302);
var G__12304 = cljs.core.first(seq12302__$1);
var seq12302__$2 = cljs.core.next(seq12302__$1);
return cljs.core.bit_xor.cljs$core$IFn$_invoke$arity$variadic(G__12303,G__12304,seq12302__$2);
});
cljs.core.bit_xor.cljs$lang$maxFixedArity = (2);
/**
* Bitwise and
*/
cljs.core.bit_and = (function cljs$core$bit_and(var_args){
var G__12314 = arguments.length;
switch (G__12314) {
case 2:
return cljs.core.bit_and.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___12316 = arguments.length;
var i__10062__auto___12317 = (0);
while(true){
if((i__10062__auto___12317 < len__10061__auto___12316)){
args_arr__10084__auto__.push((arguments[i__10062__auto___12317]));
var G__12318 = (i__10062__auto___12317 + (1));
i__10062__auto___12317 = G__12318;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((2)),(0),null));
return cljs.core.bit_and.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__10085__auto__);
}
});
cljs.core.bit_and.cljs$core$IFn$_invoke$arity$2 = (function (x,y){
return (x & y);
});
cljs.core.bit_and.cljs$core$IFn$_invoke$arity$variadic = (function (x,y,more){
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.bit_and,(x & y),more);
});
cljs.core.bit_and.cljs$lang$applyTo = (function (seq12311){
var G__12312 = cljs.core.first(seq12311);
var seq12311__$1 = cljs.core.next(seq12311);
var G__12313 = cljs.core.first(seq12311__$1);
var seq12311__$2 = cljs.core.next(seq12311__$1);
return cljs.core.bit_and.cljs$core$IFn$_invoke$arity$variadic(G__12312,G__12313,seq12311__$2);
});
cljs.core.bit_and.cljs$lang$maxFixedArity = (2);
/**
* Bitwise or
*/
cljs.core.bit_or = (function cljs$core$bit_or(var_args){
var G__12323 = arguments.length;
switch (G__12323) {
case 2:
return cljs.core.bit_or.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___12325 = arguments.length;
var i__10062__auto___12326 = (0);
while(true){
if((i__10062__auto___12326 < len__10061__auto___12325)){
args_arr__10084__auto__.push((arguments[i__10062__auto___12326]));
var G__12327 = (i__10062__auto___12326 + (1));
i__10062__auto___12326 = G__12327;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((2)),(0),null));
return cljs.core.bit_or.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__10085__auto__);
}
});
cljs.core.bit_or.cljs$core$IFn$_invoke$arity$2 = (function (x,y){
return (x | y);
});
cljs.core.bit_or.cljs$core$IFn$_invoke$arity$variadic = (function (x,y,more){
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.bit_or,(x | y),more);
});
cljs.core.bit_or.cljs$lang$applyTo = (function (seq12320){
var G__12321 = cljs.core.first(seq12320);
var seq12320__$1 = cljs.core.next(seq12320);
var G__12322 = cljs.core.first(seq12320__$1);
var seq12320__$2 = cljs.core.next(seq12320__$1);
return cljs.core.bit_or.cljs$core$IFn$_invoke$arity$variadic(G__12321,G__12322,seq12320__$2);
});
cljs.core.bit_or.cljs$lang$maxFixedArity = (2);
/**
* Bitwise and with complement
*/
cljs.core.bit_and_not = (function cljs$core$bit_and_not(var_args){
var G__12332 = arguments.length;
switch (G__12332) {
case 2:
return cljs.core.bit_and_not.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___12334 = arguments.length;
var i__10062__auto___12335 = (0);
while(true){
if((i__10062__auto___12335 < len__10061__auto___12334)){
args_arr__10084__auto__.push((arguments[i__10062__auto___12335]));
var G__12336 = (i__10062__auto___12335 + (1));
i__10062__auto___12335 = G__12336;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((2)),(0),null));
return cljs.core.bit_and_not.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__10085__auto__);
}
});
cljs.core.bit_and_not.cljs$core$IFn$_invoke$arity$2 = (function (x,y){
return (x & ~y);
});
cljs.core.bit_and_not.cljs$core$IFn$_invoke$arity$variadic = (function (x,y,more){
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.bit_and_not,(x & ~y),more);
});
cljs.core.bit_and_not.cljs$lang$applyTo = (function (seq12329){
var G__12330 = cljs.core.first(seq12329);
var seq12329__$1 = cljs.core.next(seq12329);
var G__12331 = cljs.core.first(seq12329__$1);
var seq12329__$2 = cljs.core.next(seq12329__$1);
return cljs.core.bit_and_not.cljs$core$IFn$_invoke$arity$variadic(G__12330,G__12331,seq12329__$2);
});
cljs.core.bit_and_not.cljs$lang$maxFixedArity = (2);
/**
* Clear bit at index n
*/
cljs.core.bit_clear = (function cljs$core$bit_clear(x,n){
return (x & ~(1 << n));
});
/**
* Flip bit at index n
*/
cljs.core.bit_flip = (function cljs$core$bit_flip(x,n){
return (x ^ (1 << n));
});
/**
* Bitwise complement
*/
cljs.core.bit_not = (function cljs$core$bit_not(x){
return (~ x);
});
/**
* Set bit at index n
*/
cljs.core.bit_set = (function cljs$core$bit_set(x,n){
return (x | (1 << n));
});
/**
* Test bit at index n
*/
cljs.core.bit_test = (function cljs$core$bit_test(x,n){
return ((x & (1 << n)) != 0);
});
/**
* Bitwise shift left
*/
cljs.core.bit_shift_left = (function cljs$core$bit_shift_left(x,n){
return (x << n);
});
/**
* Bitwise shift right
*/
cljs.core.bit_shift_right = (function cljs$core$bit_shift_right(x,n){
return (x >> n);
});
/**
* DEPRECATED: Bitwise shift right with zero fill
*/
cljs.core.bit_shift_right_zero_fill = (function cljs$core$bit_shift_right_zero_fill(x,n){
return (x >>> n);
});
/**
* Bitwise shift right with zero fill
*/
cljs.core.unsigned_bit_shift_right = (function cljs$core$unsigned_bit_shift_right(x,n){
return (x >>> n);
});
/**
* Counts the number of bits set in n
*/
cljs.core.bit_count = (function cljs$core$bit_count(v){
var v__$1 = (v - ((v >> (1)) & (1431655765)));
var v__$2 = ((v__$1 & (858993459)) + ((v__$1 >> (2)) & (858993459)));
return ((((v__$2 + (v__$2 >> (4))) & (252645135)) * (16843009)) >> (24));
});
/**
* Returns non-nil if nums all have the equivalent
* value, otherwise false. Behavior on non nums is
* undefined.
*/
cljs.core._EQ__EQ_ = (function cljs$core$_EQ__EQ_(var_args){
var G__12341 = arguments.length;
switch (G__12341) {
case 1:
return cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___12343 = arguments.length;
var i__10062__auto___12344 = (0);
while(true){
if((i__10062__auto___12344 < len__10061__auto___12343)){
args_arr__10084__auto__.push((arguments[i__10062__auto___12344]));
var G__12345 = (i__10062__auto___12344 + (1));
i__10062__auto___12344 = G__12345;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((2)),(0),null));
return cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__10085__auto__);
}
});
cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$1 = (function (x){
return true;
});
cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$2 = (function (x,y){
return cljs.core._equiv(x,y);
});
cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$variadic = (function (x,y,more){
while(true){
if((x === y)){
if(cljs.core.next(more)){
var G__12346 = y;
var G__12347 = cljs.core.first(more);
var G__12348 = cljs.core.next(more);
x = G__12346;
y = G__12347;
more = G__12348;
continue;
} else {
return (y === cljs.core.first(more));
}
} else {
return false;
}
break;
}
});
cljs.core._EQ__EQ_.cljs$lang$applyTo = (function (seq12338){
var G__12339 = cljs.core.first(seq12338);
var seq12338__$1 = cljs.core.next(seq12338);
var G__12340 = cljs.core.first(seq12338__$1);
var seq12338__$2 = cljs.core.next(seq12338__$1);
return cljs.core._EQ__EQ_.cljs$core$IFn$_invoke$arity$variadic(G__12339,G__12340,seq12338__$2);
});
cljs.core._EQ__EQ_.cljs$lang$maxFixedArity = (2);
/**
* Returns true if num is greater than zero, else false
*/
cljs.core.pos_QMARK_ = (function cljs$core$pos_QMARK_(x){
return (x > (0));
});
/**
* Returns true if num is zero, else false
*/
cljs.core.zero_QMARK_ = (function cljs$core$zero_QMARK_(x){
return (x === (0));
});
/**
* Returns true if num is less than zero, else false
*/
cljs.core.neg_QMARK_ = (function cljs$core$neg_QMARK_(x){
return (x < (0));
});
/**
* Returns the nth next of coll, (seq coll) when n is 0.
*/
cljs.core.nthnext = (function cljs$core$nthnext(coll,n){
var n__$1 = n;
var xs = cljs.core.seq(coll);
while(true){
if((xs) && ((n__$1 > (0)))){
var G__12349 = (n__$1 - (1));
var G__12350 = cljs.core.next(xs);
n__$1 = G__12349;
xs = G__12350;
continue;
} else {
return xs;
}
break;
}
});
/**
* With no args, returns the empty string. With one arg x, returns
* x.toString(). (str nil) returns the empty string. With more than
* one arg, returns the concatenation of the str values of the args.
*/
cljs.core.str = (function cljs$core$str(var_args){
var G__12354 = arguments.length;
switch (G__12354) {
case 0:
return cljs.core.str.cljs$core$IFn$_invoke$arity$0();
break;
case 1:
return cljs.core.str.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___12356 = arguments.length;
var i__10062__auto___12357 = (0);
while(true){
if((i__10062__auto___12357 < len__10061__auto___12356)){
args_arr__10084__auto__.push((arguments[i__10062__auto___12357]));
var G__12358 = (i__10062__auto___12357 + (1));
i__10062__auto___12357 = G__12358;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((1)),(0),null));
return cljs.core.str.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__10085__auto__);
}
});
cljs.core.str.cljs$core$IFn$_invoke$arity$0 = (function (){
return "";
});
cljs.core.str.cljs$core$IFn$_invoke$arity$1 = (function (x){
if((x == null)){
return "";
} else {
return [x].join("");
}
});
cljs.core.str.cljs$core$IFn$_invoke$arity$variadic = (function (x,ys){
var sb = (new goog.string.StringBuffer([cljs.core.str.cljs$core$IFn$_invoke$arity$1(x)].join('')));
var more = ys;
while(true){
if(cljs.core.truth_(more)){
var G__12359 = sb.append([cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(more))].join(''));
var G__12360 = cljs.core.next(more);
sb = G__12359;
more = G__12360;
continue;
} else {
return sb.toString();
}
break;
}
});
cljs.core.str.cljs$lang$applyTo = (function (seq12352){
var G__12353 = cljs.core.first(seq12352);
var seq12352__$1 = cljs.core.next(seq12352);
return cljs.core.str.cljs$core$IFn$_invoke$arity$variadic(G__12353,seq12352__$1);
});
cljs.core.str.cljs$lang$maxFixedArity = (1);
/**
* Returns the substring of s beginning at start inclusive, and ending
* at end (defaults to length of string), exclusive.
*/
cljs.core.subs = (function cljs$core$subs(var_args){
var G__12362 = arguments.length;
switch (G__12362) {
case 2:
return cljs.core.subs.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.subs.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.subs.cljs$core$IFn$_invoke$arity$2 = (function (s,start){
return s.substring(start);
});
cljs.core.subs.cljs$core$IFn$_invoke$arity$3 = (function (s,start,end){
return s.substring(start,end);
});
cljs.core.subs.cljs$lang$maxFixedArity = 3;
/**
* Assumes x is sequential. Returns true if x equals y, otherwise
* returns false.
*/
cljs.core.equiv_sequential = (function cljs$core$equiv_sequential(x,y){
return cljs.core.boolean$(((cljs.core.sequential_QMARK_(y))?(((cljs.core.counted_QMARK_(x)) && (cljs.core.counted_QMARK_(y)) && (!((cljs.core.count(x) === cljs.core.count(y)))))?false:(function (){var xs = cljs.core.seq(x);
var ys = cljs.core.seq(y);
while(true){
if((xs == null)){
return (ys == null);
} else {
if((ys == null)){
return false;
} else {
if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.first(xs),cljs.core.first(ys))){
var G__12364 = cljs.core.next(xs);
var G__12365 = cljs.core.next(ys);
xs = G__12364;
ys = G__12365;
continue;
} else {
return false;
}
}
}
break;
}
})()):null));
});
cljs.core.hash_coll = (function cljs$core$hash_coll(coll){
if(cljs.core.seq(coll)){
var res = cljs.core.hash(cljs.core.first(coll));
var s = cljs.core.next(coll);
while(true){
if((s == null)){
return res;
} else {
var G__12366 = cljs.core.hash_combine(res,cljs.core.hash(cljs.core.first(s)));
var G__12367 = cljs.core.next(s);
res = G__12366;
s = G__12367;
continue;
}
break;
}
} else {
return (0);
}
});
cljs.core.hash_imap = (function cljs$core$hash_imap(m){
var h = (0);
var s = cljs.core.seq(m);
while(true){
if(s){
var e = cljs.core.first(s);
var G__12368 = ((h + (cljs.core.hash(cljs.core.key(e)) ^ cljs.core.hash(cljs.core.val(e)))) % (4503599627370496));
var G__12369 = cljs.core.next(s);
h = G__12368;
s = G__12369;
continue;
} else {
return h;
}
break;
}
});
cljs.core.hash_iset = (function cljs$core$hash_iset(s){
var h = (0);
var s__$1 = cljs.core.seq(s);
while(true){
if(s__$1){
var e = cljs.core.first(s__$1);
var G__12370 = ((h + cljs.core.hash(e)) % (4503599627370496));
var G__12371 = cljs.core.next(s__$1);
h = G__12370;
s__$1 = G__12371;
continue;
} else {
return h;
}
break;
}
});
/**
* Takes a JavaScript object and a map of names to functions and
* attaches said functions as methods on the object. Any references to
* JavaScript's implicit this (via the this-as macro) will resolve to the
* object that the function is attached.
*/
cljs.core.extend_object_BANG_ = (function cljs$core$extend_object_BANG_(obj,fn_map){
var seq__12372_12382 = cljs.core.seq(fn_map);
var chunk__12373_12383 = null;
var count__12374_12384 = (0);
var i__12375_12385 = (0);
while(true){
if((i__12375_12385 < count__12374_12384)){
var vec__12376_12386 = chunk__12373_12383.cljs$core$IIndexed$_nth$arity$2(null,i__12375_12385);
var key_name_12387 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12376_12386,(0),null);
var f_12388 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12376_12386,(1),null);
var str_name_12389 = cljs.core.name(key_name_12387);
goog.object.set(obj,str_name_12389,f_12388);
var G__12390 = seq__12372_12382;
var G__12391 = chunk__12373_12383;
var G__12392 = count__12374_12384;
var G__12393 = (i__12375_12385 + (1));
seq__12372_12382 = G__12390;
chunk__12373_12383 = G__12391;
count__12374_12384 = G__12392;
i__12375_12385 = G__12393;
continue;
} else {
var temp__5457__auto___12394 = cljs.core.seq(seq__12372_12382);
if(temp__5457__auto___12394){
var seq__12372_12395__$1 = temp__5457__auto___12394;
if(cljs.core.chunked_seq_QMARK_(seq__12372_12395__$1)){
var c__9713__auto___12396 = cljs.core.chunk_first(seq__12372_12395__$1);
var G__12397 = cljs.core.chunk_rest(seq__12372_12395__$1);
var G__12398 = c__9713__auto___12396;
var G__12399 = cljs.core.count(c__9713__auto___12396);
var G__12400 = (0);
seq__12372_12382 = G__12397;
chunk__12373_12383 = G__12398;
count__12374_12384 = G__12399;
i__12375_12385 = G__12400;
continue;
} else {
var vec__12379_12401 = cljs.core.first(seq__12372_12395__$1);
var key_name_12402 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12379_12401,(0),null);
var f_12403 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12379_12401,(1),null);
var str_name_12404 = cljs.core.name(key_name_12402);
goog.object.set(obj,str_name_12404,f_12403);
var G__12405 = cljs.core.next(seq__12372_12395__$1);
var G__12406 = null;
var G__12407 = (0);
var G__12408 = (0);
seq__12372_12382 = G__12405;
chunk__12373_12383 = G__12406;
count__12374_12384 = G__12407;
i__12375_12385 = G__12408;
continue;
}
} else {
}
}
break;
}
return obj;
});
/**
* @constructor
* @implements {cljs.core.IList}
* @implements {cljs.core.IEquiv}
* @implements {cljs.core.IHash}
* @implements {cljs.core.ASeq}
* @implements {cljs.core.ICollection}
* @implements {cljs.core.IEmptyableCollection}
* @implements {cljs.core.ICounted}
* @implements {cljs.core.ISeq}
* @implements {cljs.core.INext}
* @implements {cljs.core.ISeqable}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.ICloneable}
* @implements {cljs.core.IStack}
* @implements {cljs.core.ISequential}
* @implements {cljs.core.IWithMeta}
* @implements {cljs.core.IReduce}
*/
cljs.core.List = (function (meta,first,rest,count,__hash){
this.meta = meta;
this.first = first;
this.rest = rest;
this.count = count;
this.__hash = __hash;
this.cljs$lang$protocol_mask$partition0$ = 65937646;
this.cljs$lang$protocol_mask$partition1$ = 8192;
});
cljs.core.List.prototype.toString = (function (){
var self__ = this;
var coll = this;
return cljs.core.pr_str_STAR_(coll);
});
cljs.core.List.prototype.equiv = (function (other){
var self__ = this;
var this$ = this;
return this$.cljs$core$IEquiv$_equiv$arity$2(null,other);
});
cljs.core.List.prototype.indexOf = (function() {
var G__12409 = null;
var G__12409__1 = (function (x){
var self__ = this;
var coll = this;
return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));
});
var G__12409__2 = (function (x,start){
var self__ = this;
var coll = this;
return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);
});
G__12409 = function(x,start){
switch(arguments.length){
case 1:
return G__12409__1.call(this,x);
case 2:
return G__12409__2.call(this,x,start);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__12409.cljs$core$IFn$_invoke$arity$1 = G__12409__1;
G__12409.cljs$core$IFn$_invoke$arity$2 = G__12409__2;
return G__12409;
})()
;
cljs.core.List.prototype.lastIndexOf = (function() {
var G__12410 = null;
var G__12410__1 = (function (x){
var self__ = this;
var coll = this;
return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,self__.count);
});
var G__12410__2 = (function (x,start){
var self__ = this;
var coll = this;
return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);
});
G__12410 = function(x,start){
switch(arguments.length){
case 1:
return G__12410__1.call(this,x);
case 2:
return G__12410__2.call(this,x,start);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__12410.cljs$core$IFn$_invoke$arity$1 = G__12410__1;
G__12410.cljs$core$IFn$_invoke$arity$2 = G__12410__2;
return G__12410;
})()
;
cljs.core.List.prototype.cljs$core$IMeta$_meta$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return self__.meta;
});
cljs.core.List.prototype.cljs$core$ICloneable$_clone$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return (new cljs.core.List(self__.meta,self__.first,self__.rest,self__.count,self__.__hash));
});
cljs.core.List.prototype.cljs$core$INext$_next$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
if((self__.count === (1))){
return null;
} else {
return self__.rest;
}
});
cljs.core.List.prototype.cljs$core$ICounted$_count$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return self__.count;
});
cljs.core.List.prototype.cljs$core$IStack$_peek$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return self__.first;
});
cljs.core.List.prototype.cljs$core$IStack$_pop$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return coll__$1.cljs$core$ISeq$_rest$arity$1(null);
});
cljs.core.List.prototype.cljs$core$IHash$_hash$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
var h__9238__auto__ = self__.__hash;
if(!((h__9238__auto__ == null))){
return h__9238__auto__;
} else {
var h__9238__auto____$1 = cljs.core.hash_ordered_coll(coll__$1);
self__.__hash = h__9238__auto____$1;
return h__9238__auto____$1;
}
});
cljs.core.List.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (coll,other){
var self__ = this;
var coll__$1 = this;
return cljs.core.equiv_sequential(coll__$1,other);
});
cljs.core.List.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return cljs.core._with_meta(cljs.core.List.EMPTY,self__.meta);
});
cljs.core.List.prototype.cljs$core$IReduce$_reduce$arity$2 = (function (coll,f){
var self__ = this;
var coll__$1 = this;
return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);
});
cljs.core.List.prototype.cljs$core$IReduce$_reduce$arity$3 = (function (coll,f,start){
var self__ = this;
var coll__$1 = this;
return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);
});
cljs.core.List.prototype.cljs$core$ISeq$_first$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return self__.first;
});
cljs.core.List.prototype.cljs$core$ISeq$_rest$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
if((self__.count === (1))){
return cljs.core.List.EMPTY;
} else {
return self__.rest;
}
});
cljs.core.List.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return coll__$1;
});
cljs.core.List.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (coll,meta__$1){
var self__ = this;
var coll__$1 = this;
return (new cljs.core.List(meta__$1,self__.first,self__.rest,self__.count,self__.__hash));
});
cljs.core.List.prototype.cljs$core$ICollection$_conj$arity$2 = (function (coll,o){
var self__ = this;
var coll__$1 = this;
return (new cljs.core.List(self__.meta,o,coll__$1,(self__.count + (1)),null));
});
cljs.core.List.getBasis = (function (){
return new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$meta,cljs.core.cst$sym$first,cljs.core.cst$sym$rest,cljs.core.cst$sym$count,cljs.core.with_meta(cljs.core.cst$sym$__hash,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null))], null);
});
cljs.core.List.cljs$lang$type = true;
cljs.core.List.cljs$lang$ctorStr = "cljs.core/List";
cljs.core.List.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/List");
});
cljs.core.__GT_List = (function cljs$core$__GT_List(meta,first,rest,count,__hash){
return (new cljs.core.List(meta,first,rest,count,__hash));
});
/**
* Returns true if x implements IList
*/
cljs.core.list_QMARK_ = (function cljs$core$list_QMARK_(x){
if(!((x == null))){
if(((x.cljs$lang$protocol_mask$partition0$ & (33554432))) || ((cljs.core.PROTOCOL_SENTINEL === x.cljs$core$IList$))){
return true;
} else {
if((!x.cljs$lang$protocol_mask$partition0$)){
return cljs.core.native_satisfies_QMARK_(cljs.core.IList,x);
} else {
return false;
}
}
} else {
return cljs.core.native_satisfies_QMARK_(cljs.core.IList,x);
}
});
var G__12412_12415 = cljs.core.List.prototype;
var G__12413_12416 = cljs.core.ITER_SYMBOL;
var G__12414_12417 = ((function (G__12412_12415,G__12413_12416){
return (function (){
var this__9929__auto__ = this;
return cljs.core.es6_iterator(this__9929__auto__);
});})(G__12412_12415,G__12413_12416))
;
goog.object.set(G__12412_12415,G__12413_12416,G__12414_12417);
/**
* @constructor
* @implements {cljs.core.IList}
* @implements {cljs.core.IEquiv}
* @implements {cljs.core.IHash}
* @implements {cljs.core.ICollection}
* @implements {cljs.core.IEmptyableCollection}
* @implements {cljs.core.ICounted}
* @implements {cljs.core.ISeq}
* @implements {cljs.core.INext}
* @implements {cljs.core.ISeqable}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.ICloneable}
* @implements {cljs.core.IStack}
* @implements {cljs.core.ISequential}
* @implements {cljs.core.IWithMeta}
* @implements {cljs.core.IReduce}
*/
cljs.core.EmptyList = (function (meta){
this.meta = meta;
this.cljs$lang$protocol_mask$partition0$ = 65937614;
this.cljs$lang$protocol_mask$partition1$ = 8192;
});
cljs.core.EmptyList.prototype.toString = (function (){
var self__ = this;
var coll = this;
return cljs.core.pr_str_STAR_(coll);
});
cljs.core.EmptyList.prototype.equiv = (function (other){
var self__ = this;
var this$ = this;
return this$.cljs$core$IEquiv$_equiv$arity$2(null,other);
});
cljs.core.EmptyList.prototype.indexOf = (function() {
var G__12418 = null;
var G__12418__1 = (function (x){
var self__ = this;
var coll = this;
return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));
});
var G__12418__2 = (function (x,start){
var self__ = this;
var coll = this;
return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);
});
G__12418 = function(x,start){
switch(arguments.length){
case 1:
return G__12418__1.call(this,x);
case 2:
return G__12418__2.call(this,x,start);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__12418.cljs$core$IFn$_invoke$arity$1 = G__12418__1;
G__12418.cljs$core$IFn$_invoke$arity$2 = G__12418__2;
return G__12418;
})()
;
cljs.core.EmptyList.prototype.lastIndexOf = (function() {
var G__12419 = null;
var G__12419__1 = (function (x){
var self__ = this;
var coll = this;
return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));
});
var G__12419__2 = (function (x,start){
var self__ = this;
var coll = this;
return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);
});
G__12419 = function(x,start){
switch(arguments.length){
case 1:
return G__12419__1.call(this,x);
case 2:
return G__12419__2.call(this,x,start);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__12419.cljs$core$IFn$_invoke$arity$1 = G__12419__1;
G__12419.cljs$core$IFn$_invoke$arity$2 = G__12419__2;
return G__12419;
})()
;
cljs.core.EmptyList.prototype.cljs$core$IMeta$_meta$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return self__.meta;
});
cljs.core.EmptyList.prototype.cljs$core$ICloneable$_clone$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return (new cljs.core.EmptyList(self__.meta));
});
cljs.core.EmptyList.prototype.cljs$core$INext$_next$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return null;
});
cljs.core.EmptyList.prototype.cljs$core$ICounted$_count$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return (0);
});
cljs.core.EmptyList.prototype.cljs$core$IStack$_peek$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return null;
});
cljs.core.EmptyList.prototype.cljs$core$IStack$_pop$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
throw (new Error("Can't pop empty list"));
});
cljs.core.EmptyList.prototype.cljs$core$IHash$_hash$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return cljs.core.empty_ordered_hash;
});
cljs.core.EmptyList.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (coll,other){
var self__ = this;
var coll__$1 = this;
if((cljs.core.list_QMARK_(other)) || (cljs.core.sequential_QMARK_(other))){
return (cljs.core.seq(other) == null);
} else {
return false;
}
});
cljs.core.EmptyList.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return coll__$1;
});
cljs.core.EmptyList.prototype.cljs$core$IReduce$_reduce$arity$2 = (function (coll,f){
var self__ = this;
var coll__$1 = this;
return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);
});
cljs.core.EmptyList.prototype.cljs$core$IReduce$_reduce$arity$3 = (function (coll,f,start){
var self__ = this;
var coll__$1 = this;
return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);
});
cljs.core.EmptyList.prototype.cljs$core$ISeq$_first$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return null;
});
cljs.core.EmptyList.prototype.cljs$core$ISeq$_rest$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return cljs.core.List.EMPTY;
});
cljs.core.EmptyList.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return null;
});
cljs.core.EmptyList.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (coll,meta__$1){
var self__ = this;
var coll__$1 = this;
return (new cljs.core.EmptyList(meta__$1));
});
cljs.core.EmptyList.prototype.cljs$core$ICollection$_conj$arity$2 = (function (coll,o){
var self__ = this;
var coll__$1 = this;
return (new cljs.core.List(self__.meta,o,null,(1),null));
});
cljs.core.EmptyList.getBasis = (function (){
return new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$meta], null);
});
cljs.core.EmptyList.cljs$lang$type = true;
cljs.core.EmptyList.cljs$lang$ctorStr = "cljs.core/EmptyList";
cljs.core.EmptyList.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/EmptyList");
});
cljs.core.__GT_EmptyList = (function cljs$core$__GT_EmptyList(meta){
return (new cljs.core.EmptyList(meta));
});
cljs.core.List.EMPTY = (new cljs.core.EmptyList(null));
var G__12420_12423 = cljs.core.EmptyList.prototype;
var G__12421_12424 = cljs.core.ITER_SYMBOL;
var G__12422_12425 = ((function (G__12420_12423,G__12421_12424){
return (function (){
var this__9929__auto__ = this;
return cljs.core.es6_iterator(this__9929__auto__);
});})(G__12420_12423,G__12421_12424))
;
goog.object.set(G__12420_12423,G__12421_12424,G__12422_12425);
/**
* Returns true if coll satisfies? IReversible.
*/
cljs.core.reversible_QMARK_ = (function cljs$core$reversible_QMARK_(coll){
if(!((coll == null))){
if(((coll.cljs$lang$protocol_mask$partition0$ & (134217728))) || ((cljs.core.PROTOCOL_SENTINEL === coll.cljs$core$IReversible$))){
return true;
} else {
if((!coll.cljs$lang$protocol_mask$partition0$)){
return cljs.core.native_satisfies_QMARK_(cljs.core.IReversible,coll);
} else {
return false;
}
}
} else {
return cljs.core.native_satisfies_QMARK_(cljs.core.IReversible,coll);
}
});
/**
* Returns, in constant time, a seq of the items in rev (which
* can be a vector or sorted-map), in reverse order. If rev is empty returns nil
*/
cljs.core.rseq = (function cljs$core$rseq(rev){
return cljs.core._rseq(rev);
});
/**
* Returns a seq of the items in coll in reverse order. Not lazy.
*/
cljs.core.reverse = (function cljs$core$reverse(coll){
if(cljs.core.reversible_QMARK_(coll)){
return cljs.core.rseq(coll);
} else {
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.conj,cljs.core.List.EMPTY,coll);
}
});
/**
* Creates a new list containing the items.
*/
cljs.core.list = (function cljs$core$list(var_args){
var args__10068__auto__ = [];
var len__10061__auto___12428 = arguments.length;
var i__10062__auto___12429 = (0);
while(true){
if((i__10062__auto___12429 < len__10061__auto___12428)){
args__10068__auto__.push((arguments[i__10062__auto___12429]));
var G__12430 = (i__10062__auto___12429 + (1));
i__10062__auto___12429 = G__12430;
continue;
} else {
}
break;
}
var argseq__10069__auto__ = ((((0) < args__10068__auto__.length))?(new cljs.core.IndexedSeq(args__10068__auto__.slice((0)),(0),null)):null);
return cljs.core.list.cljs$core$IFn$_invoke$arity$variadic(argseq__10069__auto__);
});
cljs.core.list.cljs$core$IFn$_invoke$arity$variadic = (function (xs){
var arr = ((((xs instanceof cljs.core.IndexedSeq)) && ((xs.i === (0))))?xs.arr:(function (){var arr = [];
var xs__$1 = xs;
while(true){
if(!((xs__$1 == null))){
arr.push(xs__$1.cljs$core$ISeq$_first$arity$1(null));
var G__12431 = xs__$1.cljs$core$INext$_next$arity$1(null);
xs__$1 = G__12431;
continue;
} else {
return arr;
}
break;
}
})());
var i = arr.length;
var r = cljs.core.List.EMPTY;
while(true){
if((i > (0))){
var G__12432 = (i - (1));
var G__12433 = r.cljs$core$ICollection$_conj$arity$2(null,(arr[(i - (1))]));
i = G__12432;
r = G__12433;
continue;
} else {
return r;
}
break;
}
});
cljs.core.list.cljs$lang$maxFixedArity = (0);
cljs.core.list.cljs$lang$applyTo = (function (seq12427){
return cljs.core.list.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq12427));
});
/**
* @constructor
* @implements {cljs.core.IList}
* @implements {cljs.core.IEquiv}
* @implements {cljs.core.IHash}
* @implements {cljs.core.ASeq}
* @implements {cljs.core.ICollection}
* @implements {cljs.core.IEmptyableCollection}
* @implements {cljs.core.ISeq}
* @implements {cljs.core.INext}
* @implements {cljs.core.ISeqable}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.ICloneable}
* @implements {cljs.core.ISequential}
* @implements {cljs.core.IWithMeta}
* @implements {cljs.core.IReduce}
*/
cljs.core.Cons = (function (meta,first,rest,__hash){
this.meta = meta;
this.first = first;
this.rest = rest;
this.__hash = __hash;
this.cljs$lang$protocol_mask$partition0$ = 65929452;
this.cljs$lang$protocol_mask$partition1$ = 8192;
});
cljs.core.Cons.prototype.toString = (function (){
var self__ = this;
var coll = this;
return cljs.core.pr_str_STAR_(coll);
});
cljs.core.Cons.prototype.equiv = (function (other){
var self__ = this;
var this$ = this;
return this$.cljs$core$IEquiv$_equiv$arity$2(null,other);
});
cljs.core.Cons.prototype.indexOf = (function() {
var G__12434 = null;
var G__12434__1 = (function (x){
var self__ = this;
var coll = this;
return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));
});
var G__12434__2 = (function (x,start){
var self__ = this;
var coll = this;
return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);
});
G__12434 = function(x,start){
switch(arguments.length){
case 1:
return G__12434__1.call(this,x);
case 2:
return G__12434__2.call(this,x,start);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__12434.cljs$core$IFn$_invoke$arity$1 = G__12434__1;
G__12434.cljs$core$IFn$_invoke$arity$2 = G__12434__2;
return G__12434;
})()
;
cljs.core.Cons.prototype.lastIndexOf = (function() {
var G__12435 = null;
var G__12435__1 = (function (x){
var self__ = this;
var coll = this;
return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));
});
var G__12435__2 = (function (x,start){
var self__ = this;
var coll = this;
return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);
});
G__12435 = function(x,start){
switch(arguments.length){
case 1:
return G__12435__1.call(this,x);
case 2:
return G__12435__2.call(this,x,start);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__12435.cljs$core$IFn$_invoke$arity$1 = G__12435__1;
G__12435.cljs$core$IFn$_invoke$arity$2 = G__12435__2;
return G__12435;
})()
;
cljs.core.Cons.prototype.cljs$core$IMeta$_meta$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return self__.meta;
});
cljs.core.Cons.prototype.cljs$core$ICloneable$_clone$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return (new cljs.core.Cons(self__.meta,self__.first,self__.rest,self__.__hash));
});
cljs.core.Cons.prototype.cljs$core$INext$_next$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
if((self__.rest == null)){
return null;
} else {
return cljs.core.seq(self__.rest);
}
});
cljs.core.Cons.prototype.cljs$core$IHash$_hash$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
var h__9238__auto__ = self__.__hash;
if(!((h__9238__auto__ == null))){
return h__9238__auto__;
} else {
var h__9238__auto____$1 = cljs.core.hash_ordered_coll(coll__$1);
self__.__hash = h__9238__auto____$1;
return h__9238__auto____$1;
}
});
cljs.core.Cons.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (coll,other){
var self__ = this;
var coll__$1 = this;
return cljs.core.equiv_sequential(coll__$1,other);
});
cljs.core.Cons.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return cljs.core._with_meta(cljs.core.List.EMPTY,self__.meta);
});
cljs.core.Cons.prototype.cljs$core$IReduce$_reduce$arity$2 = (function (coll,f){
var self__ = this;
var coll__$1 = this;
return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);
});
cljs.core.Cons.prototype.cljs$core$IReduce$_reduce$arity$3 = (function (coll,f,start){
var self__ = this;
var coll__$1 = this;
return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);
});
cljs.core.Cons.prototype.cljs$core$ISeq$_first$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return self__.first;
});
cljs.core.Cons.prototype.cljs$core$ISeq$_rest$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
if((self__.rest == null)){
return cljs.core.List.EMPTY;
} else {
return self__.rest;
}
});
cljs.core.Cons.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return coll__$1;
});
cljs.core.Cons.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (coll,meta__$1){
var self__ = this;
var coll__$1 = this;
return (new cljs.core.Cons(meta__$1,self__.first,self__.rest,self__.__hash));
});
cljs.core.Cons.prototype.cljs$core$ICollection$_conj$arity$2 = (function (coll,o){
var self__ = this;
var coll__$1 = this;
return (new cljs.core.Cons(null,o,coll__$1,null));
});
cljs.core.Cons.getBasis = (function (){
return new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$meta,cljs.core.cst$sym$first,cljs.core.cst$sym$rest,cljs.core.with_meta(cljs.core.cst$sym$__hash,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null))], null);
});
cljs.core.Cons.cljs$lang$type = true;
cljs.core.Cons.cljs$lang$ctorStr = "cljs.core/Cons";
cljs.core.Cons.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/Cons");
});
cljs.core.__GT_Cons = (function cljs$core$__GT_Cons(meta,first,rest,__hash){
return (new cljs.core.Cons(meta,first,rest,__hash));
});
var G__12436_12439 = cljs.core.Cons.prototype;
var G__12437_12440 = cljs.core.ITER_SYMBOL;
var G__12438_12441 = ((function (G__12436_12439,G__12437_12440){
return (function (){
var this__9929__auto__ = this;
return cljs.core.es6_iterator(this__9929__auto__);
});})(G__12436_12439,G__12437_12440))
;
goog.object.set(G__12436_12439,G__12437_12440,G__12438_12441);
/**
* Returns a new seq where x is the first element and coll is the rest.
*/
cljs.core.cons = (function cljs$core$cons(x,coll){
if((function (){var or__8782__auto__ = (coll == null);
if(or__8782__auto__){
return or__8782__auto__;
} else {
if(!((coll == null))){
if(((coll.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === coll.cljs$core$ISeq$))){
return true;
} else {
return false;
}
} else {
return false;
}
}
})()){
return (new cljs.core.Cons(null,x,coll,null));
} else {
return (new cljs.core.Cons(null,x,cljs.core.seq(coll),null));
}
});
cljs.core.hash_keyword = (function cljs$core$hash_keyword(k){
return ((cljs.core.hash_symbol(k) + (2654435769)) | (0));
});
cljs.core.compare_keywords = (function cljs$core$compare_keywords(a,b){
if((a.fqn === b.fqn)){
return (0);
} else {
if(cljs.core.truth_((function (){var and__8770__auto__ = cljs.core.not(a.ns);
if(and__8770__auto__){
return b.ns;
} else {
return and__8770__auto__;
}
})())){
return (-1);
} else {
if(cljs.core.truth_(a.ns)){
if(cljs.core.not(b.ns)){
return (1);
} else {
var nsc = (function (){var G__12444 = a.ns;
var G__12445 = b.ns;
return goog.array.defaultCompare(G__12444,G__12445);
})();
if(((0) === nsc)){
var G__12446 = a.name;
var G__12447 = b.name;
return goog.array.defaultCompare(G__12446,G__12447);
} else {
return nsc;
}
}
} else {
var G__12448 = a.name;
var G__12449 = b.name;
return goog.array.defaultCompare(G__12448,G__12449);
}
}
}
});
/**
* @constructor
* @implements {cljs.core.IEquiv}
* @implements {cljs.core.IHash}
* @implements {cljs.core.IFn}
* @implements {cljs.core.INamed}
* @implements {cljs.core.IPrintWithWriter}
*/
cljs.core.Keyword = (function (ns,name,fqn,_hash){
this.ns = ns;
this.name = name;
this.fqn = fqn;
this._hash = _hash;
this.cljs$lang$protocol_mask$partition0$ = 2153775105;
this.cljs$lang$protocol_mask$partition1$ = 4096;
});
cljs.core.Keyword.prototype.toString = (function (){
var self__ = this;
var _ = this;
return [":",cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.fqn)].join('');
});
cljs.core.Keyword.prototype.equiv = (function (other){
var self__ = this;
var this$ = this;
return this$.cljs$core$IEquiv$_equiv$arity$2(null,other);
});
cljs.core.Keyword.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (_,other){
var self__ = this;
var ___$1 = this;
if((other instanceof cljs.core.Keyword)){
return (self__.fqn === other.fqn);
} else {
return false;
}
});
cljs.core.Keyword.prototype.call = (function() {
var G__12451 = null;
var G__12451__2 = (function (self__,coll){
var self__ = this;
var self____$1 = this;
var kw = self____$1;
return cljs.core.get.cljs$core$IFn$_invoke$arity$2(coll,kw);
});
var G__12451__3 = (function (self__,coll,not_found){
var self__ = this;
var self____$1 = this;
var kw = self____$1;
return cljs.core.get.cljs$core$IFn$_invoke$arity$3(coll,kw,not_found);
});
G__12451 = function(self__,coll,not_found){
switch(arguments.length){
case 2:
return G__12451__2.call(this,self__,coll);
case 3:
return G__12451__3.call(this,self__,coll,not_found);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__12451.cljs$core$IFn$_invoke$arity$2 = G__12451__2;
G__12451.cljs$core$IFn$_invoke$arity$3 = G__12451__3;
return G__12451;
})()
;
cljs.core.Keyword.prototype.apply = (function (self__,args12450){
var self__ = this;
var self____$1 = this;
return self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args12450)));
});
cljs.core.Keyword.prototype.cljs$core$IFn$_invoke$arity$1 = (function (coll){
var self__ = this;
var kw = this;
return cljs.core.get.cljs$core$IFn$_invoke$arity$2(coll,kw);
});
cljs.core.Keyword.prototype.cljs$core$IFn$_invoke$arity$2 = (function (coll,not_found){
var self__ = this;
var kw = this;
return cljs.core.get.cljs$core$IFn$_invoke$arity$3(coll,kw,not_found);
});
cljs.core.Keyword.prototype.cljs$core$IHash$_hash$arity$1 = (function (this$){
var self__ = this;
var this$__$1 = this;
var h__9238__auto__ = self__._hash;
if(!((h__9238__auto__ == null))){
return h__9238__auto__;
} else {
var h__9238__auto____$1 = cljs.core.hash_keyword(this$__$1);
self__._hash = h__9238__auto____$1;
return h__9238__auto____$1;
}
});
cljs.core.Keyword.prototype.cljs$core$INamed$_name$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return self__.name;
});
cljs.core.Keyword.prototype.cljs$core$INamed$_namespace$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return self__.ns;
});
cljs.core.Keyword.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (o,writer,_){
var self__ = this;
var o__$1 = this;
return cljs.core._write(writer,[":",cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.fqn)].join(''));
});
cljs.core.Keyword.getBasis = (function (){
return new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$ns,cljs.core.cst$sym$name,cljs.core.cst$sym$fqn,cljs.core.with_meta(cljs.core.cst$sym$_hash,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null))], null);
});
cljs.core.Keyword.cljs$lang$type = true;
cljs.core.Keyword.cljs$lang$ctorStr = "cljs.core/Keyword";
cljs.core.Keyword.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/Keyword");
});
cljs.core.__GT_Keyword = (function cljs$core$__GT_Keyword(ns,name,fqn,_hash){
return (new cljs.core.Keyword(ns,name,fqn,_hash));
});
/**
* Return true if x is a Keyword
*/
cljs.core.keyword_QMARK_ = (function cljs$core$keyword_QMARK_(x){
return (x instanceof cljs.core.Keyword);
});
/**
* Efficient test to determine that two keywords are identical.
*/
cljs.core.keyword_identical_QMARK_ = (function cljs$core$keyword_identical_QMARK_(x,y){
if((x === y)){
return true;
} else {
if(((x instanceof cljs.core.Keyword)) && ((y instanceof cljs.core.Keyword))){
return (x.fqn === y.fqn);
} else {
return false;
}
}
});
/**
* Efficient test to determine that two symbols are identical.
*/
cljs.core.symbol_identical_QMARK_ = (function cljs$core$symbol_identical_QMARK_(x,y){
if((x === y)){
return true;
} else {
if(((x instanceof cljs.core.Symbol)) && ((y instanceof cljs.core.Symbol))){
return (x.str === y.str);
} else {
return false;
}
}
});
/**
* Returns the namespace String of a symbol or keyword, or nil if not present.
*/
cljs.core.namespace = (function cljs$core$namespace(x){
if(((!((x == null)))?((((x.cljs$lang$protocol_mask$partition1$ & (4096))) || ((cljs.core.PROTOCOL_SENTINEL === x.cljs$core$INamed$)))?true:false):false)){
return x.cljs$core$INamed$_namespace$arity$1(null);
} else {
throw (new Error(["Doesn't support namespace: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(x)].join('')));
}
});
/**
* Return true if x is a symbol or keyword
*/
cljs.core.ident_QMARK_ = (function cljs$core$ident_QMARK_(x){
return ((x instanceof cljs.core.Keyword)) || ((x instanceof cljs.core.Symbol));
});
/**
* Return true if x is a symbol or keyword without a namespace
*/
cljs.core.simple_ident_QMARK_ = (function cljs$core$simple_ident_QMARK_(x){
return (cljs.core.ident_QMARK_(x)) && ((cljs.core.namespace(x) == null));
});
/**
* Return true if x is a symbol or keyword with a namespace
*/
cljs.core.qualified_ident_QMARK_ = (function cljs$core$qualified_ident_QMARK_(x){
return cljs.core.boolean$((function (){var and__8770__auto__ = cljs.core.ident_QMARK_(x);
if(and__8770__auto__){
var and__8770__auto____$1 = cljs.core.namespace(x);
if(cljs.core.truth_(and__8770__auto____$1)){
return true;
} else {
return and__8770__auto____$1;
}
} else {
return and__8770__auto__;
}
})());
});
/**
* Return true if x is a symbol without a namespace
*/
cljs.core.simple_symbol_QMARK_ = (function cljs$core$simple_symbol_QMARK_(x){
return ((x instanceof cljs.core.Symbol)) && ((cljs.core.namespace(x) == null));
});
/**
* Return true if x is a symbol with a namespace
*/
cljs.core.qualified_symbol_QMARK_ = (function cljs$core$qualified_symbol_QMARK_(x){
return cljs.core.boolean$((function (){var and__8770__auto__ = (x instanceof cljs.core.Symbol);
if(and__8770__auto__){
var and__8770__auto____$1 = cljs.core.namespace(x);
if(cljs.core.truth_(and__8770__auto____$1)){
return true;
} else {
return and__8770__auto____$1;
}
} else {
return and__8770__auto__;
}
})());
});
/**
* Return true if x is a keyword without a namespace
*/
cljs.core.simple_keyword_QMARK_ = (function cljs$core$simple_keyword_QMARK_(x){
return ((x instanceof cljs.core.Keyword)) && ((cljs.core.namespace(x) == null));
});
/**
* Return true if x is a keyword with a namespace
*/
cljs.core.qualified_keyword_QMARK_ = (function cljs$core$qualified_keyword_QMARK_(x){
return cljs.core.boolean$((function (){var and__8770__auto__ = (x instanceof cljs.core.Keyword);
if(and__8770__auto__){
var and__8770__auto____$1 = cljs.core.namespace(x);
if(cljs.core.truth_(and__8770__auto____$1)){
return true;
} else {
return and__8770__auto____$1;
}
} else {
return and__8770__auto__;
}
})());
});
/**
* Returns a Keyword with the given namespace and name. Do not use :
* in the keyword strings, it will be added automatically.
*/
cljs.core.keyword = (function cljs$core$keyword(var_args){
var G__12454 = arguments.length;
switch (G__12454) {
case 1:
return cljs.core.keyword.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.keyword.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.keyword.cljs$core$IFn$_invoke$arity$1 = (function (name){
if((name instanceof cljs.core.Keyword)){
return name;
} else {
if((name instanceof cljs.core.Symbol)){
return (new cljs.core.Keyword(cljs.core.namespace(name),cljs.core.name(name),name.str,null));
} else {
if(typeof name === 'string'){
var parts = name.split("/");
if((parts.length === (2))){
return (new cljs.core.Keyword((parts[(0)]),(parts[(1)]),name,null));
} else {
return (new cljs.core.Keyword(null,(parts[(0)]),name,null));
}
} else {
return null;
}
}
}
});
cljs.core.keyword.cljs$core$IFn$_invoke$arity$2 = (function (ns,name){
var ns__$1 = (((ns instanceof cljs.core.Keyword))?cljs.core.name(ns):(((ns instanceof cljs.core.Symbol))?cljs.core.name(ns):ns
));
var name__$1 = (((name instanceof cljs.core.Keyword))?cljs.core.name(name):(((name instanceof cljs.core.Symbol))?cljs.core.name(name):name
));
return (new cljs.core.Keyword(ns__$1,name__$1,[cljs.core.str.cljs$core$IFn$_invoke$arity$1((cljs.core.truth_(ns__$1)?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns__$1),"/"].join(''):null)),cljs.core.str.cljs$core$IFn$_invoke$arity$1(name__$1)].join(''),null));
});
cljs.core.keyword.cljs$lang$maxFixedArity = 2;
/**
* @constructor
* @implements {cljs.core.IEquiv}
* @implements {cljs.core.IHash}
* @implements {cljs.core.ICollection}
* @implements {cljs.core.IPending}
* @implements {cljs.core.IEmptyableCollection}
* @implements {cljs.core.ISeq}
* @implements {cljs.core.INext}
* @implements {cljs.core.ISeqable}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.ISequential}
* @implements {cljs.core.IWithMeta}
* @implements {cljs.core.IReduce}
*/
cljs.core.LazySeq = (function (meta,fn,s,__hash){
this.meta = meta;
this.fn = fn;
this.s = s;
this.__hash = __hash;
this.cljs$lang$protocol_mask$partition0$ = 32374988;
this.cljs$lang$protocol_mask$partition1$ = 1;
});
cljs.core.LazySeq.prototype.toString = (function (){
var self__ = this;
var coll = this;
return cljs.core.pr_str_STAR_(coll);
});
cljs.core.LazySeq.prototype.equiv = (function (other){
var self__ = this;
var this$ = this;
return this$.cljs$core$IEquiv$_equiv$arity$2(null,other);
});
cljs.core.LazySeq.prototype.sval = (function (){
var self__ = this;
var coll = this;
if((self__.fn == null)){
return self__.s;
} else {
self__.s = (self__.fn.cljs$core$IFn$_invoke$arity$0 ? self__.fn.cljs$core$IFn$_invoke$arity$0() : self__.fn.call(null));
self__.fn = null;
return self__.s;
}
});
cljs.core.LazySeq.prototype.indexOf = (function() {
var G__12456 = null;
var G__12456__1 = (function (x){
var self__ = this;
var coll = this;
return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));
});
var G__12456__2 = (function (x,start){
var self__ = this;
var coll = this;
return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);
});
G__12456 = function(x,start){
switch(arguments.length){
case 1:
return G__12456__1.call(this,x);
case 2:
return G__12456__2.call(this,x,start);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__12456.cljs$core$IFn$_invoke$arity$1 = G__12456__1;
G__12456.cljs$core$IFn$_invoke$arity$2 = G__12456__2;
return G__12456;
})()
;
cljs.core.LazySeq.prototype.lastIndexOf = (function() {
var G__12457 = null;
var G__12457__1 = (function (x){
var self__ = this;
var coll = this;
return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));
});
var G__12457__2 = (function (x,start){
var self__ = this;
var coll = this;
return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);
});
G__12457 = function(x,start){
switch(arguments.length){
case 1:
return G__12457__1.call(this,x);
case 2:
return G__12457__2.call(this,x,start);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__12457.cljs$core$IFn$_invoke$arity$1 = G__12457__1;
G__12457.cljs$core$IFn$_invoke$arity$2 = G__12457__2;
return G__12457;
})()
;
cljs.core.LazySeq.prototype.cljs$core$IMeta$_meta$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return self__.meta;
});
cljs.core.LazySeq.prototype.cljs$core$INext$_next$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
coll__$1.cljs$core$ISeqable$_seq$arity$1(null);
if((self__.s == null)){
return null;
} else {
return cljs.core.next(self__.s);
}
});
cljs.core.LazySeq.prototype.cljs$core$IHash$_hash$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
var h__9238__auto__ = self__.__hash;
if(!((h__9238__auto__ == null))){
return h__9238__auto__;
} else {
var h__9238__auto____$1 = cljs.core.hash_ordered_coll(coll__$1);
self__.__hash = h__9238__auto____$1;
return h__9238__auto____$1;
}
});
cljs.core.LazySeq.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (coll,other){
var self__ = this;
var coll__$1 = this;
return cljs.core.equiv_sequential(coll__$1,other);
});
cljs.core.LazySeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return cljs.core._with_meta(cljs.core.List.EMPTY,self__.meta);
});
cljs.core.LazySeq.prototype.cljs$core$IPending$_realized_QMARK_$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return cljs.core.not(self__.fn);
});
cljs.core.LazySeq.prototype.cljs$core$IReduce$_reduce$arity$2 = (function (coll,f){
var self__ = this;
var coll__$1 = this;
return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);
});
cljs.core.LazySeq.prototype.cljs$core$IReduce$_reduce$arity$3 = (function (coll,f,start){
var self__ = this;
var coll__$1 = this;
return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);
});
cljs.core.LazySeq.prototype.cljs$core$ISeq$_first$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
coll__$1.cljs$core$ISeqable$_seq$arity$1(null);
if((self__.s == null)){
return null;
} else {
return cljs.core.first(self__.s);
}
});
cljs.core.LazySeq.prototype.cljs$core$ISeq$_rest$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
coll__$1.cljs$core$ISeqable$_seq$arity$1(null);
if(!((self__.s == null))){
return cljs.core.rest(self__.s);
} else {
return cljs.core.List.EMPTY;
}
});
cljs.core.LazySeq.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
coll__$1.sval();
if((self__.s == null)){
return null;
} else {
var ls = self__.s;
while(true){
if((ls instanceof cljs.core.LazySeq)){
var G__12458 = ls.sval();
ls = G__12458;
continue;
} else {
self__.s = ls;
return cljs.core.seq(self__.s);
}
break;
}
}
});
cljs.core.LazySeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (coll,meta__$1){
var self__ = this;
var coll__$1 = this;
return (new cljs.core.LazySeq(meta__$1,self__.fn,self__.s,self__.__hash));
});
cljs.core.LazySeq.prototype.cljs$core$ICollection$_conj$arity$2 = (function (coll,o){
var self__ = this;
var coll__$1 = this;
return cljs.core.cons(o,coll__$1);
});
cljs.core.LazySeq.getBasis = (function (){
return new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$meta,cljs.core.with_meta(cljs.core.cst$sym$fn,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null)),cljs.core.with_meta(cljs.core.cst$sym$s,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null)),cljs.core.with_meta(cljs.core.cst$sym$__hash,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null))], null);
});
cljs.core.LazySeq.cljs$lang$type = true;
cljs.core.LazySeq.cljs$lang$ctorStr = "cljs.core/LazySeq";
cljs.core.LazySeq.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/LazySeq");
});
cljs.core.__GT_LazySeq = (function cljs$core$__GT_LazySeq(meta,fn,s,__hash){
return (new cljs.core.LazySeq(meta,fn,s,__hash));
});
var G__12459_12462 = cljs.core.LazySeq.prototype;
var G__12460_12463 = cljs.core.ITER_SYMBOL;
var G__12461_12464 = ((function (G__12459_12462,G__12460_12463){
return (function (){
var this__9929__auto__ = this;
return cljs.core.es6_iterator(this__9929__auto__);
});})(G__12459_12462,G__12460_12463))
;
goog.object.set(G__12459_12462,G__12460_12463,G__12461_12464);
/**
* @constructor
* @implements {cljs.core.ICounted}
*/
cljs.core.ChunkBuffer = (function (buf,end){
this.buf = buf;
this.end = end;
this.cljs$lang$protocol_mask$partition0$ = 2;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
cljs.core.ChunkBuffer.prototype.add = (function (o){
var self__ = this;
var _ = this;
(self__.buf[self__.end] = o);
return self__.end = (self__.end + (1));
});
cljs.core.ChunkBuffer.prototype.chunk = (function (){
var self__ = this;
var _ = this;
var ret = (new cljs.core.ArrayChunk(self__.buf,(0),self__.end));
self__.buf = null;
return ret;
});
cljs.core.ChunkBuffer.prototype.cljs$core$ICounted$_count$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return self__.end;
});
cljs.core.ChunkBuffer.getBasis = (function (){
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(cljs.core.cst$sym$buf,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null)),cljs.core.with_meta(cljs.core.cst$sym$end,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null))], null);
});
cljs.core.ChunkBuffer.cljs$lang$type = true;
cljs.core.ChunkBuffer.cljs$lang$ctorStr = "cljs.core/ChunkBuffer";
cljs.core.ChunkBuffer.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/ChunkBuffer");
});
cljs.core.__GT_ChunkBuffer = (function cljs$core$__GT_ChunkBuffer(buf,end){
return (new cljs.core.ChunkBuffer(buf,end));
});
cljs.core.chunk_buffer = (function cljs$core$chunk_buffer(capacity){
return (new cljs.core.ChunkBuffer((new Array(capacity)),(0)));
});
/**
* @constructor
* @implements {cljs.core.IIndexed}
* @implements {cljs.core.ICounted}
* @implements {cljs.core.IChunk}
* @implements {cljs.core.IReduce}
*/
cljs.core.ArrayChunk = (function (arr,off,end){
this.arr = arr;
this.off = off;
this.end = end;
this.cljs$lang$protocol_mask$partition0$ = 524306;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
cljs.core.ArrayChunk.prototype.cljs$core$ICounted$_count$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return (self__.end - self__.off);
});
cljs.core.ArrayChunk.prototype.cljs$core$IIndexed$_nth$arity$2 = (function (coll,i){
var self__ = this;
var coll__$1 = this;
return (self__.arr[(self__.off + i)]);
});
cljs.core.ArrayChunk.prototype.cljs$core$IIndexed$_nth$arity$3 = (function (coll,i,not_found){
var self__ = this;
var coll__$1 = this;
if(((i >= (0))) && ((i < (self__.end - self__.off)))){
return (self__.arr[(self__.off + i)]);
} else {
return not_found;
}
});
cljs.core.ArrayChunk.prototype.cljs$core$IChunk$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.ArrayChunk.prototype.cljs$core$IChunk$_drop_first$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
if((self__.off === self__.end)){
throw (new Error("-drop-first of empty chunk"));
} else {
return (new cljs.core.ArrayChunk(self__.arr,(self__.off + (1)),self__.end));
}
});
cljs.core.ArrayChunk.prototype.cljs$core$IReduce$_reduce$arity$2 = (function (coll,f){
var self__ = this;
var coll__$1 = this;
return cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$4(self__.arr,f,(self__.arr[self__.off]),(self__.off + (1)));
});
cljs.core.ArrayChunk.prototype.cljs$core$IReduce$_reduce$arity$3 = (function (coll,f,start){
var self__ = this;
var coll__$1 = this;
return cljs.core.array_reduce.cljs$core$IFn$_invoke$arity$4(self__.arr,f,start,self__.off);
});
cljs.core.ArrayChunk.getBasis = (function (){
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$arr,cljs.core.cst$sym$off,cljs.core.cst$sym$end], null);
});
cljs.core.ArrayChunk.cljs$lang$type = true;
cljs.core.ArrayChunk.cljs$lang$ctorStr = "cljs.core/ArrayChunk";
cljs.core.ArrayChunk.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/ArrayChunk");
});
cljs.core.__GT_ArrayChunk = (function cljs$core$__GT_ArrayChunk(arr,off,end){
return (new cljs.core.ArrayChunk(arr,off,end));
});
cljs.core.array_chunk = (function cljs$core$array_chunk(var_args){
var G__12466 = arguments.length;
switch (G__12466) {
case 1:
return cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$1 = (function (arr){
return (new cljs.core.ArrayChunk(arr,(0),arr.length));
});
cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$2 = (function (arr,off){
return (new cljs.core.ArrayChunk(arr,off,arr.length));
});
cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$3 = (function (arr,off,end){
return (new cljs.core.ArrayChunk(arr,off,end));
});
cljs.core.array_chunk.cljs$lang$maxFixedArity = 3;
/**
* @constructor
* @implements {cljs.core.IEquiv}
* @implements {cljs.core.IHash}
* @implements {cljs.core.ASeq}
* @implements {cljs.core.ICollection}
* @implements {cljs.core.IChunkedNext}
* @implements {cljs.core.IEmptyableCollection}
* @implements {cljs.core.ISeq}
* @implements {cljs.core.INext}
* @implements {cljs.core.ISeqable}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.IChunkedSeq}
* @implements {cljs.core.ISequential}
* @implements {cljs.core.IWithMeta}
*/
cljs.core.ChunkedCons = (function (chunk,more,meta,__hash){
this.chunk = chunk;
this.more = more;
this.meta = meta;
this.__hash = __hash;
this.cljs$lang$protocol_mask$partition0$ = 31850732;
this.cljs$lang$protocol_mask$partition1$ = 1536;
});
cljs.core.ChunkedCons.prototype.toString = (function (){
var self__ = this;
var coll = this;
return cljs.core.pr_str_STAR_(coll);
});
cljs.core.ChunkedCons.prototype.equiv = (function (other){
var self__ = this;
var this$ = this;
return this$.cljs$core$IEquiv$_equiv$arity$2(null,other);
});
cljs.core.ChunkedCons.prototype.indexOf = (function() {
var G__12468 = null;
var G__12468__1 = (function (x){
var self__ = this;
var coll = this;
return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));
});
var G__12468__2 = (function (x,start){
var self__ = this;
var coll = this;
return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);
});
G__12468 = function(x,start){
switch(arguments.length){
case 1:
return G__12468__1.call(this,x);
case 2:
return G__12468__2.call(this,x,start);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__12468.cljs$core$IFn$_invoke$arity$1 = G__12468__1;
G__12468.cljs$core$IFn$_invoke$arity$2 = G__12468__2;
return G__12468;
})()
;
cljs.core.ChunkedCons.prototype.lastIndexOf = (function() {
var G__12469 = null;
var G__12469__1 = (function (x){
var self__ = this;
var coll = this;
return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));
});
var G__12469__2 = (function (x,start){
var self__ = this;
var coll = this;
return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);
});
G__12469 = function(x,start){
switch(arguments.length){
case 1:
return G__12469__1.call(this,x);
case 2:
return G__12469__2.call(this,x,start);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__12469.cljs$core$IFn$_invoke$arity$1 = G__12469__1;
G__12469.cljs$core$IFn$_invoke$arity$2 = G__12469__2;
return G__12469;
})()
;
cljs.core.ChunkedCons.prototype.cljs$core$IMeta$_meta$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return self__.meta;
});
cljs.core.ChunkedCons.prototype.cljs$core$INext$_next$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
if((cljs.core._count(self__.chunk) > (1))){
return (new cljs.core.ChunkedCons(cljs.core._drop_first(self__.chunk),self__.more,self__.meta,null));
} else {
var more__$1 = cljs.core._seq(self__.more);
if((more__$1 == null)){
return null;
} else {
return more__$1;
}
}
});
cljs.core.ChunkedCons.prototype.cljs$core$IHash$_hash$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
var h__9238__auto__ = self__.__hash;
if(!((h__9238__auto__ == null))){
return h__9238__auto__;
} else {
var h__9238__auto____$1 = cljs.core.hash_ordered_coll(coll__$1);
self__.__hash = h__9238__auto____$1;
return h__9238__auto____$1;
}
});
cljs.core.ChunkedCons.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (coll,other){
var self__ = this;
var coll__$1 = this;
return cljs.core.equiv_sequential(coll__$1,other);
});
cljs.core.ChunkedCons.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return cljs.core._with_meta(cljs.core.List.EMPTY,self__.meta);
});
cljs.core.ChunkedCons.prototype.cljs$core$ISeq$_first$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return cljs.core._nth.cljs$core$IFn$_invoke$arity$2(self__.chunk,(0));
});
cljs.core.ChunkedCons.prototype.cljs$core$ISeq$_rest$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
if((cljs.core._count(self__.chunk) > (1))){
return (new cljs.core.ChunkedCons(cljs.core._drop_first(self__.chunk),self__.more,self__.meta,null));
} else {
if((self__.more == null)){
return cljs.core.List.EMPTY;
} else {
return self__.more;
}
}
});
cljs.core.ChunkedCons.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return coll__$1;
});
cljs.core.ChunkedCons.prototype.cljs$core$IChunkedSeq$_chunked_first$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return self__.chunk;
});
cljs.core.ChunkedCons.prototype.cljs$core$IChunkedSeq$_chunked_rest$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
if((self__.more == null)){
return cljs.core.List.EMPTY;
} else {
return self__.more;
}
});
cljs.core.ChunkedCons.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (coll,m){
var self__ = this;
var coll__$1 = this;
return (new cljs.core.ChunkedCons(self__.chunk,self__.more,m,self__.__hash));
});
cljs.core.ChunkedCons.prototype.cljs$core$ICollection$_conj$arity$2 = (function (this$,o){
var self__ = this;
var this$__$1 = this;
return cljs.core.cons(o,this$__$1);
});
cljs.core.ChunkedCons.prototype.cljs$core$IChunkedNext$_chunked_next$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
if((self__.more == null)){
return null;
} else {
return self__.more;
}
});
cljs.core.ChunkedCons.getBasis = (function (){
return new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$chunk,cljs.core.cst$sym$more,cljs.core.cst$sym$meta,cljs.core.with_meta(cljs.core.cst$sym$__hash,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null))], null);
});
cljs.core.ChunkedCons.cljs$lang$type = true;
cljs.core.ChunkedCons.cljs$lang$ctorStr = "cljs.core/ChunkedCons";
cljs.core.ChunkedCons.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/ChunkedCons");
});
cljs.core.__GT_ChunkedCons = (function cljs$core$__GT_ChunkedCons(chunk,more,meta,__hash){
return (new cljs.core.ChunkedCons(chunk,more,meta,__hash));
});
var G__12470_12473 = cljs.core.ChunkedCons.prototype;
var G__12471_12474 = cljs.core.ITER_SYMBOL;
var G__12472_12475 = ((function (G__12470_12473,G__12471_12474){
return (function (){
var this__9929__auto__ = this;
return cljs.core.es6_iterator(this__9929__auto__);
});})(G__12470_12473,G__12471_12474))
;
goog.object.set(G__12470_12473,G__12471_12474,G__12472_12475);
cljs.core.chunk_cons = (function cljs$core$chunk_cons(chunk,rest){
if((cljs.core._count(chunk) === (0))){
return rest;
} else {
return (new cljs.core.ChunkedCons(chunk,rest,null,null));
}
});
cljs.core.chunk_append = (function cljs$core$chunk_append(b,x){
return b.add(x);
});
cljs.core.chunk = (function cljs$core$chunk(b){
return b.chunk();
});
cljs.core.chunk_first = (function cljs$core$chunk_first(s){
return cljs.core._chunked_first(s);
});
cljs.core.chunk_rest = (function cljs$core$chunk_rest(s){
return cljs.core._chunked_rest(s);
});
cljs.core.chunk_next = (function cljs$core$chunk_next(s){
if(((!((s == null)))?((((s.cljs$lang$protocol_mask$partition1$ & (1024))) || ((cljs.core.PROTOCOL_SENTINEL === s.cljs$core$IChunkedNext$)))?true:false):false)){
return cljs.core._chunked_next(s);
} else {
return cljs.core.seq(cljs.core._chunked_rest(s));
}
});
/**
* Naive impl of to-array as a start.
*/
cljs.core.to_array = (function cljs$core$to_array(s){
var ary = [];
var s__$1 = cljs.core.seq(s);
while(true){
if(!((s__$1 == null))){
ary.push(cljs.core.first(s__$1));
var G__12477 = cljs.core.next(s__$1);
s__$1 = G__12477;
continue;
} else {
return ary;
}
break;
}
});
/**
* Returns a (potentially-ragged) 2-dimensional array
* containing the contents of coll.
*/
cljs.core.to_array_2d = (function cljs$core$to_array_2d(coll){
var ret = (new Array(cljs.core.count(coll)));
var i_12478 = (0);
var xs_12479 = cljs.core.seq(coll);
while(true){
if((xs_12479 == null)){
} else {
(ret[i_12478] = cljs.core.to_array(cljs.core.first(xs_12479)));
var G__12480 = (i_12478 + (1));
var G__12481 = cljs.core.next(xs_12479);
i_12478 = G__12480;
xs_12479 = G__12481;
continue;
}
break;
}
return ret;
});
/**
* Creates an array of ints. Does not coerce array, provided for compatibility
* with Clojure.
*/
cljs.core.int_array = (function cljs$core$int_array(var_args){
var G__12483 = arguments.length;
switch (G__12483) {
case 1:
return cljs.core.int_array.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.int_array.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.int_array.cljs$core$IFn$_invoke$arity$1 = (function (size_or_seq){
if(typeof size_or_seq === 'number'){
return cljs.core.int_array.cljs$core$IFn$_invoke$arity$2(size_or_seq,null);
} else {
return cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(size_or_seq);
}
});
cljs.core.int_array.cljs$core$IFn$_invoke$arity$2 = (function (size,init_val_or_seq){
var a = (new Array(size));
if(cljs.core.seq_QMARK_(init_val_or_seq)){
var s = cljs.core.seq(init_val_or_seq);
var i = (0);
var s__$1 = s;
while(true){
if((s__$1) && ((i < size))){
(a[i] = cljs.core.first(s__$1));
var G__12485 = (i + (1));
var G__12486 = cljs.core.next(s__$1);
i = G__12485;
s__$1 = G__12486;
continue;
} else {
return a;
}
break;
}
} else {
var n__9827__auto___12487 = size;
var i_12488 = (0);
while(true){
if((i_12488 < n__9827__auto___12487)){
(a[i_12488] = init_val_or_seq);
var G__12489 = (i_12488 + (1));
i_12488 = G__12489;
continue;
} else {
}
break;
}
return a;
}
});
cljs.core.int_array.cljs$lang$maxFixedArity = 2;
/**
* Creates an array of longs. Does not coerce array, provided for compatibility
* with Clojure.
*/
cljs.core.long_array = (function cljs$core$long_array(var_args){
var G__12491 = arguments.length;
switch (G__12491) {
case 1:
return cljs.core.long_array.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.long_array.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.long_array.cljs$core$IFn$_invoke$arity$1 = (function (size_or_seq){
if(typeof size_or_seq === 'number'){
return cljs.core.long_array.cljs$core$IFn$_invoke$arity$2(size_or_seq,null);
} else {
return cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(size_or_seq);
}
});
cljs.core.long_array.cljs$core$IFn$_invoke$arity$2 = (function (size,init_val_or_seq){
var a = (new Array(size));
if(cljs.core.seq_QMARK_(init_val_or_seq)){
var s = cljs.core.seq(init_val_or_seq);
var i = (0);
var s__$1 = s;
while(true){
if((s__$1) && ((i < size))){
(a[i] = cljs.core.first(s__$1));
var G__12493 = (i + (1));
var G__12494 = cljs.core.next(s__$1);
i = G__12493;
s__$1 = G__12494;
continue;
} else {
return a;
}
break;
}
} else {
var n__9827__auto___12495 = size;
var i_12496 = (0);
while(true){
if((i_12496 < n__9827__auto___12495)){
(a[i_12496] = init_val_or_seq);
var G__12497 = (i_12496 + (1));
i_12496 = G__12497;
continue;
} else {
}
break;
}
return a;
}
});
cljs.core.long_array.cljs$lang$maxFixedArity = 2;
/**
* Creates an array of doubles. Does not coerce array, provided for compatibility
* with Clojure.
*/
cljs.core.double_array = (function cljs$core$double_array(var_args){
var G__12499 = arguments.length;
switch (G__12499) {
case 1:
return cljs.core.double_array.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.double_array.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.double_array.cljs$core$IFn$_invoke$arity$1 = (function (size_or_seq){
if(typeof size_or_seq === 'number'){
return cljs.core.double_array.cljs$core$IFn$_invoke$arity$2(size_or_seq,null);
} else {
return cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(size_or_seq);
}
});
cljs.core.double_array.cljs$core$IFn$_invoke$arity$2 = (function (size,init_val_or_seq){
var a = (new Array(size));
if(cljs.core.seq_QMARK_(init_val_or_seq)){
var s = cljs.core.seq(init_val_or_seq);
var i = (0);
var s__$1 = s;
while(true){
if((s__$1) && ((i < size))){
(a[i] = cljs.core.first(s__$1));
var G__12501 = (i + (1));
var G__12502 = cljs.core.next(s__$1);
i = G__12501;
s__$1 = G__12502;
continue;
} else {
return a;
}
break;
}
} else {
var n__9827__auto___12503 = size;
var i_12504 = (0);
while(true){
if((i_12504 < n__9827__auto___12503)){
(a[i_12504] = init_val_or_seq);
var G__12505 = (i_12504 + (1));
i_12504 = G__12505;
continue;
} else {
}
break;
}
return a;
}
});
cljs.core.double_array.cljs$lang$maxFixedArity = 2;
/**
* Creates an array of objects. Does not coerce array, provided for compatibility
* with Clojure.
*/
cljs.core.object_array = (function cljs$core$object_array(var_args){
var G__12507 = arguments.length;
switch (G__12507) {
case 1:
return cljs.core.object_array.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.object_array.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.object_array.cljs$core$IFn$_invoke$arity$1 = (function (size_or_seq){
if(typeof size_or_seq === 'number'){
return cljs.core.object_array.cljs$core$IFn$_invoke$arity$2(size_or_seq,null);
} else {
return cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(size_or_seq);
}
});
cljs.core.object_array.cljs$core$IFn$_invoke$arity$2 = (function (size,init_val_or_seq){
var a = (new Array(size));
if(cljs.core.seq_QMARK_(init_val_or_seq)){
var s = cljs.core.seq(init_val_or_seq);
var i = (0);
var s__$1 = s;
while(true){
if((s__$1) && ((i < size))){
(a[i] = cljs.core.first(s__$1));
var G__12509 = (i + (1));
var G__12510 = cljs.core.next(s__$1);
i = G__12509;
s__$1 = G__12510;
continue;
} else {
return a;
}
break;
}
} else {
var n__9827__auto___12511 = size;
var i_12512 = (0);
while(true){
if((i_12512 < n__9827__auto___12511)){
(a[i_12512] = init_val_or_seq);
var G__12513 = (i_12512 + (1));
i_12512 = G__12513;
continue;
} else {
}
break;
}
return a;
}
});
cljs.core.object_array.cljs$lang$maxFixedArity = 2;
/**
* If coll is counted? returns its count, else will count at most the first n
* elements of coll using its seq
*/
cljs.core.bounded_count = (function cljs$core$bounded_count(n,coll){
if(cljs.core.counted_QMARK_(coll)){
return cljs.core.count(coll);
} else {
var i = (0);
var s = cljs.core.seq(coll);
while(true){
if((!((s == null))) && ((i < n))){
var G__12514 = (i + (1));
var G__12515 = cljs.core.next(s);
i = G__12514;
s = G__12515;
continue;
} else {
return i;
}
break;
}
}
});
cljs.core.spread = (function cljs$core$spread(arglist){
if((arglist == null)){
return null;
} else {
var n = cljs.core.next(arglist);
if((n == null)){
return cljs.core.seq(cljs.core.first(arglist));
} else {
return cljs.core.cons(cljs.core.first(arglist),(cljs.core.spread.cljs$core$IFn$_invoke$arity$1 ? cljs.core.spread.cljs$core$IFn$_invoke$arity$1(n) : cljs.core.spread.call(null,n)));
}
}
});
/**
* Returns a lazy seq representing the concatenation of the elements in the supplied colls.
*/
cljs.core.concat = (function cljs$core$concat(var_args){
var G__12520 = arguments.length;
switch (G__12520) {
case 0:
return cljs.core.concat.cljs$core$IFn$_invoke$arity$0();
break;
case 1:
return cljs.core.concat.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.concat.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___12522 = arguments.length;
var i__10062__auto___12523 = (0);
while(true){
if((i__10062__auto___12523 < len__10061__auto___12522)){
args_arr__10084__auto__.push((arguments[i__10062__auto___12523]));
var G__12524 = (i__10062__auto___12523 + (1));
i__10062__auto___12523 = G__12524;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((2)),(0),null));
return cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__10085__auto__);
}
});
cljs.core.concat.cljs$core$IFn$_invoke$arity$0 = (function (){
return (new cljs.core.LazySeq(null,(function (){
return null;
}),null,null));
});
cljs.core.concat.cljs$core$IFn$_invoke$arity$1 = (function (x){
return (new cljs.core.LazySeq(null,(function (){
return x;
}),null,null));
});
cljs.core.concat.cljs$core$IFn$_invoke$arity$2 = (function (x,y){
return (new cljs.core.LazySeq(null,(function (){
var s = cljs.core.seq(x);
if(s){
if(cljs.core.chunked_seq_QMARK_(s)){
return cljs.core.chunk_cons(cljs.core.chunk_first(s),cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.chunk_rest(s),y));
} else {
return cljs.core.cons(cljs.core.first(s),cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.rest(s),y));
}
} else {
return y;
}
}),null,null));
});
cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic = (function (x,y,zs){
var cat = (function cljs$core$cat(xys,zs__$1){
return (new cljs.core.LazySeq(null,(function (){
var xys__$1 = cljs.core.seq(xys);
if(xys__$1){
if(cljs.core.chunked_seq_QMARK_(xys__$1)){
return cljs.core.chunk_cons(cljs.core.chunk_first(xys__$1),cljs$core$cat(cljs.core.chunk_rest(xys__$1),zs__$1));
} else {
return cljs.core.cons(cljs.core.first(xys__$1),cljs$core$cat(cljs.core.rest(xys__$1),zs__$1));
}
} else {
if(cljs.core.truth_(zs__$1)){
return cljs$core$cat(cljs.core.first(zs__$1),cljs.core.next(zs__$1));
} else {
return null;
}
}
}),null,null));
});
return cat(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(x,y),zs);
});
cljs.core.concat.cljs$lang$applyTo = (function (seq12517){
var G__12518 = cljs.core.first(seq12517);
var seq12517__$1 = cljs.core.next(seq12517);
var G__12519 = cljs.core.first(seq12517__$1);
var seq12517__$2 = cljs.core.next(seq12517__$1);
return cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(G__12518,G__12519,seq12517__$2);
});
cljs.core.concat.cljs$lang$maxFixedArity = (2);
/**
* Creates a new list containing the items prepended to the rest, the
* last of which will be treated as a sequence.
*/
cljs.core.list_STAR_ = (function cljs$core$list_STAR_(var_args){
var G__12531 = arguments.length;
switch (G__12531) {
case 1:
return cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
case 4:
return cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___12533 = arguments.length;
var i__10062__auto___12534 = (0);
while(true){
if((i__10062__auto___12534 < len__10061__auto___12533)){
args_arr__10084__auto__.push((arguments[i__10062__auto___12534]));
var G__12535 = (i__10062__auto___12534 + (1));
i__10062__auto___12534 = G__12535;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((4)),(0),null));
return cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__10085__auto__);
}
});
cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$1 = (function (args){
return cljs.core.seq(args);
});
cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$2 = (function (a,args){
return cljs.core.cons(a,args);
});
cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$3 = (function (a,b,args){
return cljs.core.cons(a,cljs.core.cons(b,args));
});
cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4 = (function (a,b,c,args){
return cljs.core.cons(a,cljs.core.cons(b,cljs.core.cons(c,args)));
});
cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$variadic = (function (a,b,c,d,more){
return cljs.core.cons(a,cljs.core.cons(b,cljs.core.cons(c,cljs.core.cons(d,cljs.core.spread(more)))));
});
cljs.core.list_STAR_.cljs$lang$applyTo = (function (seq12526){
var G__12527 = cljs.core.first(seq12526);
var seq12526__$1 = cljs.core.next(seq12526);
var G__12528 = cljs.core.first(seq12526__$1);
var seq12526__$2 = cljs.core.next(seq12526__$1);
var G__12529 = cljs.core.first(seq12526__$2);
var seq12526__$3 = cljs.core.next(seq12526__$2);
var G__12530 = cljs.core.first(seq12526__$3);
var seq12526__$4 = cljs.core.next(seq12526__$3);
return cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$variadic(G__12527,G__12528,G__12529,G__12530,seq12526__$4);
});
cljs.core.list_STAR_.cljs$lang$maxFixedArity = (4);
/**
* Returns a new, transient version of the collection, in constant time.
*/
cljs.core.transient$ = (function cljs$core$transient(coll){
return cljs.core._as_transient(coll);
});
/**
* Returns a new, persistent version of the transient collection, in
* constant time. The transient collection cannot be used after this
* call, any such use will throw an exception.
*/
cljs.core.persistent_BANG_ = (function cljs$core$persistent_BANG_(tcoll){
return cljs.core._persistent_BANG_(tcoll);
});
/**
* Adds val to the transient collection, and return tcoll. The 'addition'
* may happen at different 'places' depending on the concrete type.
*/
cljs.core.conj_BANG_ = (function cljs$core$conj_BANG_(var_args){
var G__12540 = arguments.length;
switch (G__12540) {
case 0:
return cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$0();
break;
case 1:
return cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___12542 = arguments.length;
var i__10062__auto___12543 = (0);
while(true){
if((i__10062__auto___12543 < len__10061__auto___12542)){
args_arr__10084__auto__.push((arguments[i__10062__auto___12543]));
var G__12544 = (i__10062__auto___12543 + (1));
i__10062__auto___12543 = G__12544;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((2)),(0),null));
return cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__10085__auto__);
}
});
cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$0 = (function (){
return cljs.core.transient$(cljs.core.PersistentVector.EMPTY);
});
cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$1 = (function (tcoll){
return tcoll;
});
cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2 = (function (tcoll,val){
return cljs.core._conj_BANG_(tcoll,val);
});
cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$variadic = (function (tcoll,val,vals){
while(true){
var ntcoll = cljs.core._conj_BANG_(tcoll,val);
if(cljs.core.truth_(vals)){
var G__12545 = ntcoll;
var G__12546 = cljs.core.first(vals);
var G__12547 = cljs.core.next(vals);
tcoll = G__12545;
val = G__12546;
vals = G__12547;
continue;
} else {
return ntcoll;
}
break;
}
});
cljs.core.conj_BANG_.cljs$lang$applyTo = (function (seq12537){
var G__12538 = cljs.core.first(seq12537);
var seq12537__$1 = cljs.core.next(seq12537);
var G__12539 = cljs.core.first(seq12537__$1);
var seq12537__$2 = cljs.core.next(seq12537__$1);
return cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$variadic(G__12538,G__12539,seq12537__$2);
});
cljs.core.conj_BANG_.cljs$lang$maxFixedArity = (2);
/**
* When applied to a transient map, adds mapping of key(s) to
* val(s). When applied to a transient vector, sets the val at index.
* Note - index must be <= (count vector). Returns coll.
*/
cljs.core.assoc_BANG_ = (function cljs$core$assoc_BANG_(var_args){
var G__12553 = arguments.length;
switch (G__12553) {
case 3:
return cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___12555 = arguments.length;
var i__10062__auto___12556 = (0);
while(true){
if((i__10062__auto___12556 < len__10061__auto___12555)){
args_arr__10084__auto__.push((arguments[i__10062__auto___12556]));
var G__12557 = (i__10062__auto___12556 + (1));
i__10062__auto___12556 = G__12557;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((3)),(0),null));
return cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__10085__auto__);
}
});
cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3 = (function (tcoll,key,val){
return cljs.core._assoc_BANG_(tcoll,key,val);
});
cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$variadic = (function (tcoll,key,val,kvs){
while(true){
var ntcoll = cljs.core._assoc_BANG_(tcoll,key,val);
if(cljs.core.truth_(kvs)){
var G__12558 = ntcoll;
var G__12559 = cljs.core.first(kvs);
var G__12560 = cljs.core.second(kvs);
var G__12561 = cljs.core.nnext(kvs);
tcoll = G__12558;
key = G__12559;
val = G__12560;
kvs = G__12561;
continue;
} else {
return ntcoll;
}
break;
}
});
cljs.core.assoc_BANG_.cljs$lang$applyTo = (function (seq12549){
var G__12550 = cljs.core.first(seq12549);
var seq12549__$1 = cljs.core.next(seq12549);
var G__12551 = cljs.core.first(seq12549__$1);
var seq12549__$2 = cljs.core.next(seq12549__$1);
var G__12552 = cljs.core.first(seq12549__$2);
var seq12549__$3 = cljs.core.next(seq12549__$2);
return cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$variadic(G__12550,G__12551,G__12552,seq12549__$3);
});
cljs.core.assoc_BANG_.cljs$lang$maxFixedArity = (3);
/**
* Returns a transient map that doesn't contain a mapping for key(s).
*/
cljs.core.dissoc_BANG_ = (function cljs$core$dissoc_BANG_(var_args){
var G__12566 = arguments.length;
switch (G__12566) {
case 2:
return cljs.core.dissoc_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___12568 = arguments.length;
var i__10062__auto___12569 = (0);
while(true){
if((i__10062__auto___12569 < len__10061__auto___12568)){
args_arr__10084__auto__.push((arguments[i__10062__auto___12569]));
var G__12570 = (i__10062__auto___12569 + (1));
i__10062__auto___12569 = G__12570;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((2)),(0),null));
return cljs.core.dissoc_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__10085__auto__);
}
});
cljs.core.dissoc_BANG_.cljs$core$IFn$_invoke$arity$2 = (function (tcoll,key){
return cljs.core._dissoc_BANG_(tcoll,key);
});
cljs.core.dissoc_BANG_.cljs$core$IFn$_invoke$arity$variadic = (function (tcoll,key,ks){
while(true){
var ntcoll = cljs.core._dissoc_BANG_(tcoll,key);
if(cljs.core.truth_(ks)){
var G__12571 = ntcoll;
var G__12572 = cljs.core.first(ks);
var G__12573 = cljs.core.next(ks);
tcoll = G__12571;
key = G__12572;
ks = G__12573;
continue;
} else {
return ntcoll;
}
break;
}
});
cljs.core.dissoc_BANG_.cljs$lang$applyTo = (function (seq12563){
var G__12564 = cljs.core.first(seq12563);
var seq12563__$1 = cljs.core.next(seq12563);
var G__12565 = cljs.core.first(seq12563__$1);
var seq12563__$2 = cljs.core.next(seq12563__$1);
return cljs.core.dissoc_BANG_.cljs$core$IFn$_invoke$arity$variadic(G__12564,G__12565,seq12563__$2);
});
cljs.core.dissoc_BANG_.cljs$lang$maxFixedArity = (2);
/**
* Removes the last item from a transient vector. If
* the collection is empty, throws an exception. Returns tcoll
*/
cljs.core.pop_BANG_ = (function cljs$core$pop_BANG_(tcoll){
return cljs.core._pop_BANG_(tcoll);
});
/**
* disj[oin]. Returns a transient set of the same (hashed/sorted) type, that
* does not contain key(s).
*/
cljs.core.disj_BANG_ = (function cljs$core$disj_BANG_(var_args){
var G__12578 = arguments.length;
switch (G__12578) {
case 2:
return cljs.core.disj_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___12580 = arguments.length;
var i__10062__auto___12581 = (0);
while(true){
if((i__10062__auto___12581 < len__10061__auto___12580)){
args_arr__10084__auto__.push((arguments[i__10062__auto___12581]));
var G__12582 = (i__10062__auto___12581 + (1));
i__10062__auto___12581 = G__12582;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((2)),(0),null));
return cljs.core.disj_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__10085__auto__);
}
});
cljs.core.disj_BANG_.cljs$core$IFn$_invoke$arity$2 = (function (tcoll,val){
return cljs.core._disjoin_BANG_(tcoll,val);
});
cljs.core.disj_BANG_.cljs$core$IFn$_invoke$arity$variadic = (function (tcoll,val,vals){
while(true){
var ntcoll = cljs.core._disjoin_BANG_(tcoll,val);
if(cljs.core.truth_(vals)){
var G__12583 = ntcoll;
var G__12584 = cljs.core.first(vals);
var G__12585 = cljs.core.next(vals);
tcoll = G__12583;
val = G__12584;
vals = G__12585;
continue;
} else {
return ntcoll;
}
break;
}
});
cljs.core.disj_BANG_.cljs$lang$applyTo = (function (seq12575){
var G__12576 = cljs.core.first(seq12575);
var seq12575__$1 = cljs.core.next(seq12575);
var G__12577 = cljs.core.first(seq12575__$1);
var seq12575__$2 = cljs.core.next(seq12575__$1);
return cljs.core.disj_BANG_.cljs$core$IFn$_invoke$arity$variadic(G__12576,G__12577,seq12575__$2);
});
cljs.core.disj_BANG_.cljs$lang$maxFixedArity = (2);
cljs.core.apply_to = (function cljs$core$apply_to(f,argc,args){
var args__$1 = cljs.core.seq(args);
if((argc === (0))){
return (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));
} else {
var a9871 = cljs.core._first(args__$1);
var args__$2 = cljs.core._rest(args__$1);
if((argc === (1))){
return (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(a9871) : f.call(null,a9871));
} else {
var b9872 = cljs.core._first(args__$2);
var args__$3 = cljs.core._rest(args__$2);
if((argc === (2))){
return (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(a9871,b9872) : f.call(null,a9871,b9872));
} else {
var c9873 = cljs.core._first(args__$3);
var args__$4 = cljs.core._rest(args__$3);
if((argc === (3))){
return (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(a9871,b9872,c9873) : f.call(null,a9871,b9872,c9873));
} else {
var d9874 = cljs.core._first(args__$4);
var args__$5 = cljs.core._rest(args__$4);
if((argc === (4))){
return (f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(a9871,b9872,c9873,d9874) : f.call(null,a9871,b9872,c9873,d9874));
} else {
var e9875 = cljs.core._first(args__$5);
var args__$6 = cljs.core._rest(args__$5);
if((argc === (5))){
return (f.cljs$core$IFn$_invoke$arity$5 ? f.cljs$core$IFn$_invoke$arity$5(a9871,b9872,c9873,d9874,e9875) : f.call(null,a9871,b9872,c9873,d9874,e9875));
} else {
var f9876 = cljs.core._first(args__$6);
var args__$7 = cljs.core._rest(args__$6);
if((argc === (6))){
return (f.cljs$core$IFn$_invoke$arity$6 ? f.cljs$core$IFn$_invoke$arity$6(a9871,b9872,c9873,d9874,e9875,f9876) : f.call(null,a9871,b9872,c9873,d9874,e9875,f9876));
} else {
var g9877 = cljs.core._first(args__$7);
var args__$8 = cljs.core._rest(args__$7);
if((argc === (7))){
return (f.cljs$core$IFn$_invoke$arity$7 ? f.cljs$core$IFn$_invoke$arity$7(a9871,b9872,c9873,d9874,e9875,f9876,g9877) : f.call(null,a9871,b9872,c9873,d9874,e9875,f9876,g9877));
} else {
var h9878 = cljs.core._first(args__$8);
var args__$9 = cljs.core._rest(args__$8);
if((argc === (8))){
return (f.cljs$core$IFn$_invoke$arity$8 ? f.cljs$core$IFn$_invoke$arity$8(a9871,b9872,c9873,d9874,e9875,f9876,g9877,h9878) : f.call(null,a9871,b9872,c9873,d9874,e9875,f9876,g9877,h9878));
} else {
var i9879 = cljs.core._first(args__$9);
var args__$10 = cljs.core._rest(args__$9);
if((argc === (9))){
return (f.cljs$core$IFn$_invoke$arity$9 ? f.cljs$core$IFn$_invoke$arity$9(a9871,b9872,c9873,d9874,e9875,f9876,g9877,h9878,i9879) : f.call(null,a9871,b9872,c9873,d9874,e9875,f9876,g9877,h9878,i9879));
} else {
var j9880 = cljs.core._first(args__$10);
var args__$11 = cljs.core._rest(args__$10);
if((argc === (10))){
return (f.cljs$core$IFn$_invoke$arity$10 ? f.cljs$core$IFn$_invoke$arity$10(a9871,b9872,c9873,d9874,e9875,f9876,g9877,h9878,i9879,j9880) : f.call(null,a9871,b9872,c9873,d9874,e9875,f9876,g9877,h9878,i9879,j9880));
} else {
var k9881 = cljs.core._first(args__$11);
var args__$12 = cljs.core._rest(args__$11);
if((argc === (11))){
return (f.cljs$core$IFn$_invoke$arity$11 ? f.cljs$core$IFn$_invoke$arity$11(a9871,b9872,c9873,d9874,e9875,f9876,g9877,h9878,i9879,j9880,k9881) : f.call(null,a9871,b9872,c9873,d9874,e9875,f9876,g9877,h9878,i9879,j9880,k9881));
} else {
var l9882 = cljs.core._first(args__$12);
var args__$13 = cljs.core._rest(args__$12);
if((argc === (12))){
return (f.cljs$core$IFn$_invoke$arity$12 ? f.cljs$core$IFn$_invoke$arity$12(a9871,b9872,c9873,d9874,e9875,f9876,g9877,h9878,i9879,j9880,k9881,l9882) : f.call(null,a9871,b9872,c9873,d9874,e9875,f9876,g9877,h9878,i9879,j9880,k9881,l9882));
} else {
var m9883 = cljs.core._first(args__$13);
var args__$14 = cljs.core._rest(args__$13);
if((argc === (13))){
return (f.cljs$core$IFn$_invoke$arity$13 ? f.cljs$core$IFn$_invoke$arity$13(a9871,b9872,c9873,d9874,e9875,f9876,g9877,h9878,i9879,j9880,k9881,l9882,m9883) : f.call(null,a9871,b9872,c9873,d9874,e9875,f9876,g9877,h9878,i9879,j9880,k9881,l9882,m9883));
} else {
var n9884 = cljs.core._first(args__$14);
var args__$15 = cljs.core._rest(args__$14);
if((argc === (14))){
return (f.cljs$core$IFn$_invoke$arity$14 ? f.cljs$core$IFn$_invoke$arity$14(a9871,b9872,c9873,d9874,e9875,f9876,g9877,h9878,i9879,j9880,k9881,l9882,m9883,n9884) : f.call(null,a9871,b9872,c9873,d9874,e9875,f9876,g9877,h9878,i9879,j9880,k9881,l9882,m9883,n9884));
} else {
var o9885 = cljs.core._first(args__$15);
var args__$16 = cljs.core._rest(args__$15);
if((argc === (15))){
return (f.cljs$core$IFn$_invoke$arity$15 ? f.cljs$core$IFn$_invoke$arity$15(a9871,b9872,c9873,d9874,e9875,f9876,g9877,h9878,i9879,j9880,k9881,l9882,m9883,n9884,o9885) : f.call(null,a9871,b9872,c9873,d9874,e9875,f9876,g9877,h9878,i9879,j9880,k9881,l9882,m9883,n9884,o9885));
} else {
var p9886 = cljs.core._first(args__$16);
var args__$17 = cljs.core._rest(args__$16);
if((argc === (16))){
return (f.cljs$core$IFn$_invoke$arity$16 ? f.cljs$core$IFn$_invoke$arity$16(a9871,b9872,c9873,d9874,e9875,f9876,g9877,h9878,i9879,j9880,k9881,l9882,m9883,n9884,o9885,p9886) : f.call(null,a9871,b9872,c9873,d9874,e9875,f9876,g9877,h9878,i9879,j9880,k9881,l9882,m9883,n9884,o9885,p9886));
} else {
var q9887 = cljs.core._first(args__$17);
var args__$18 = cljs.core._rest(args__$17);
if((argc === (17))){
return (f.cljs$core$IFn$_invoke$arity$17 ? f.cljs$core$IFn$_invoke$arity$17(a9871,b9872,c9873,d9874,e9875,f9876,g9877,h9878,i9879,j9880,k9881,l9882,m9883,n9884,o9885,p9886,q9887) : f.call(null,a9871,b9872,c9873,d9874,e9875,f9876,g9877,h9878,i9879,j9880,k9881,l9882,m9883,n9884,o9885,p9886,q9887));
} else {
var r9888 = cljs.core._first(args__$18);
var args__$19 = cljs.core._rest(args__$18);
if((argc === (18))){
return (f.cljs$core$IFn$_invoke$arity$18 ? f.cljs$core$IFn$_invoke$arity$18(a9871,b9872,c9873,d9874,e9875,f9876,g9877,h9878,i9879,j9880,k9881,l9882,m9883,n9884,o9885,p9886,q9887,r9888) : f.call(null,a9871,b9872,c9873,d9874,e9875,f9876,g9877,h9878,i9879,j9880,k9881,l9882,m9883,n9884,o9885,p9886,q9887,r9888));
} else {
var s9889 = cljs.core._first(args__$19);
var args__$20 = cljs.core._rest(args__$19);
if((argc === (19))){
return (f.cljs$core$IFn$_invoke$arity$19 ? f.cljs$core$IFn$_invoke$arity$19(a9871,b9872,c9873,d9874,e9875,f9876,g9877,h9878,i9879,j9880,k9881,l9882,m9883,n9884,o9885,p9886,q9887,r9888,s9889) : f.call(null,a9871,b9872,c9873,d9874,e9875,f9876,g9877,h9878,i9879,j9880,k9881,l9882,m9883,n9884,o9885,p9886,q9887,r9888,s9889));
} else {
var t9890 = cljs.core._first(args__$20);
var args__$21 = cljs.core._rest(args__$20);
if((argc === (20))){
return (f.cljs$core$IFn$_invoke$arity$20 ? f.cljs$core$IFn$_invoke$arity$20(a9871,b9872,c9873,d9874,e9875,f9876,g9877,h9878,i9879,j9880,k9881,l9882,m9883,n9884,o9885,p9886,q9887,r9888,s9889,t9890) : f.call(null,a9871,b9872,c9873,d9874,e9875,f9876,g9877,h9878,i9879,j9880,k9881,l9882,m9883,n9884,o9885,p9886,q9887,r9888,s9889,t9890));
} else {
throw (new Error("Only up to 20 arguments supported on functions"));
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});
/**
* Internal. DO NOT USE!
* Assumes args was already called with seq beforehand!
*/
cljs.core.apply_to_simple = (function cljs$core$apply_to_simple(var_args){
var G__12587 = arguments.length;
switch (G__12587) {
case 2:
return cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
case 4:
return cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));
break;
case 5:
return cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));
break;
case 6:
return cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$2 = (function (f,args){
if((args == null)){
if(f.cljs$core$IFn$_invoke$arity$0){
return f.cljs$core$IFn$_invoke$arity$0();
} else {
return f.call(f);
}
} else {
return cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$3(f,cljs.core._first(args),cljs.core.next(args));
}
});
cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$3 = (function (f,a0,args){
if((args == null)){
if(f.cljs$core$IFn$_invoke$arity$1){
return f.cljs$core$IFn$_invoke$arity$1(a0);
} else {
return f.call(f,a0);
}
} else {
return cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$4(f,a0,cljs.core._first(args),cljs.core.next(args));
}
});
cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$4 = (function (f,a0,a1,args){
if((args == null)){
if(f.cljs$core$IFn$_invoke$arity$2){
return f.cljs$core$IFn$_invoke$arity$2(a0,a1);
} else {
return f.call(f,a0,a1);
}
} else {
return cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$5(f,a0,a1,cljs.core._first(args),cljs.core.next(args));
}
});
cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$5 = (function (f,a0,a1,a2,args){
if((args == null)){
if(f.cljs$core$IFn$_invoke$arity$3){
return f.cljs$core$IFn$_invoke$arity$3(a0,a1,a2);
} else {
return f.call(f,a0,a1,a2);
}
} else {
return cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$6(f,a0,a1,a2,cljs.core._first(args),cljs.core.next(args));
}
});
cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$6 = (function (f,a0,a1,a2,a3,args){
if((args == null)){
if(f.cljs$core$IFn$_invoke$arity$4){
return f.cljs$core$IFn$_invoke$arity$4(a0,a1,a2,a3);
} else {
return f.call(f,a0,a1,a2,a3);
}
} else {
var a4 = cljs.core._first(args);
var next_4 = cljs.core.next(args);
if((next_4 == null)){
if(f.cljs$core$IFn$_invoke$arity$5){
return f.cljs$core$IFn$_invoke$arity$5(a0,a1,a2,a3,a4);
} else {
return f.call(f,a0,a1,a2,a3,a4);
}
} else {
var a5 = cljs.core._first(next_4);
var next_5 = cljs.core.next(next_4);
if((next_5 == null)){
if(f.cljs$core$IFn$_invoke$arity$6){
return f.cljs$core$IFn$_invoke$arity$6(a0,a1,a2,a3,a4,a5);
} else {
return f.call(f,a0,a1,a2,a3,a4,a5);
}
} else {
var a6 = cljs.core._first(next_5);
var next_6 = cljs.core.next(next_5);
if((next_6 == null)){
if(f.cljs$core$IFn$_invoke$arity$7){
return f.cljs$core$IFn$_invoke$arity$7(a0,a1,a2,a3,a4,a5,a6);
} else {
return f.call(f,a0,a1,a2,a3,a4,a5,a6);
}
} else {
var a7 = cljs.core._first(next_6);
var next_7 = cljs.core.next(next_6);
if((next_7 == null)){
if(f.cljs$core$IFn$_invoke$arity$8){
return f.cljs$core$IFn$_invoke$arity$8(a0,a1,a2,a3,a4,a5,a6,a7);
} else {
return f.call(f,a0,a1,a2,a3,a4,a5,a6,a7);
}
} else {
var a8 = cljs.core._first(next_7);
var next_8 = cljs.core.next(next_7);
if((next_8 == null)){
if(f.cljs$core$IFn$_invoke$arity$9){
return f.cljs$core$IFn$_invoke$arity$9(a0,a1,a2,a3,a4,a5,a6,a7,a8);
} else {
return f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8);
}
} else {
var a9 = cljs.core._first(next_8);
var next_9 = cljs.core.next(next_8);
if((next_9 == null)){
if(f.cljs$core$IFn$_invoke$arity$10){
return f.cljs$core$IFn$_invoke$arity$10(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);
} else {
return f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);
}
} else {
var a10 = cljs.core._first(next_9);
var next_10 = cljs.core.next(next_9);
if((next_10 == null)){
if(f.cljs$core$IFn$_invoke$arity$11){
return f.cljs$core$IFn$_invoke$arity$11(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10);
} else {
return f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10);
}
} else {
var a11 = cljs.core._first(next_10);
var next_11 = cljs.core.next(next_10);
if((next_11 == null)){
if(f.cljs$core$IFn$_invoke$arity$12){
return f.cljs$core$IFn$_invoke$arity$12(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11);
} else {
return f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11);
}
} else {
var a12 = cljs.core._first(next_11);
var next_12 = cljs.core.next(next_11);
if((next_12 == null)){
if(f.cljs$core$IFn$_invoke$arity$13){
return f.cljs$core$IFn$_invoke$arity$13(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12);
} else {
return f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12);
}
} else {
var a13 = cljs.core._first(next_12);
var next_13 = cljs.core.next(next_12);
if((next_13 == null)){
if(f.cljs$core$IFn$_invoke$arity$14){
return f.cljs$core$IFn$_invoke$arity$14(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13);
} else {
return f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13);
}
} else {
var a14 = cljs.core._first(next_13);
var next_14 = cljs.core.next(next_13);
if((next_14 == null)){
if(f.cljs$core$IFn$_invoke$arity$15){
return f.cljs$core$IFn$_invoke$arity$15(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14);
} else {
return f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14);
}
} else {
var a15 = cljs.core._first(next_14);
var next_15 = cljs.core.next(next_14);
if((next_15 == null)){
if(f.cljs$core$IFn$_invoke$arity$16){
return f.cljs$core$IFn$_invoke$arity$16(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15);
} else {
return f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15);
}
} else {
var a16 = cljs.core._first(next_15);
var next_16 = cljs.core.next(next_15);
if((next_16 == null)){
if(f.cljs$core$IFn$_invoke$arity$17){
return f.cljs$core$IFn$_invoke$arity$17(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16);
} else {
return f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16);
}
} else {
var a17 = cljs.core._first(next_16);
var next_17 = cljs.core.next(next_16);
if((next_17 == null)){
if(f.cljs$core$IFn$_invoke$arity$18){
return f.cljs$core$IFn$_invoke$arity$18(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17);
} else {
return f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17);
}
} else {
var a18 = cljs.core._first(next_17);
var next_18 = cljs.core.next(next_17);
if((next_18 == null)){
if(f.cljs$core$IFn$_invoke$arity$19){
return f.cljs$core$IFn$_invoke$arity$19(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18);
} else {
return f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18);
}
} else {
var a19 = cljs.core._first(next_18);
var next_19 = cljs.core.next(next_18);
if((next_19 == null)){
if(f.cljs$core$IFn$_invoke$arity$20){
return f.cljs$core$IFn$_invoke$arity$20(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19);
} else {
return f.call(f,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19);
}
} else {
var arr__9899__auto__ = [a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19];
var s__9900__auto___12589 = next_19;
while(true){
if(s__9900__auto___12589){
arr__9899__auto__.push(cljs.core._first(s__9900__auto___12589));
var G__12590 = cljs.core.next(s__9900__auto___12589);
s__9900__auto___12589 = G__12590;
continue;
} else {
}
break;
}
return f.apply(f,arr__9899__auto__);
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});
cljs.core.apply_to_simple.cljs$lang$maxFixedArity = 6;
/**
* Applies fn f to the argument list formed by prepending intervening arguments to args.
*/
cljs.core.apply = (function cljs$core$apply(var_args){
var G__12598 = arguments.length;
switch (G__12598) {
case 2:
return cljs.core.apply.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.apply.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
case 4:
return cljs.core.apply.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));
break;
case 5:
return cljs.core.apply.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___12600 = arguments.length;
var i__10062__auto___12601 = (0);
while(true){
if((i__10062__auto___12601 < len__10061__auto___12600)){
args_arr__10084__auto__.push((arguments[i__10062__auto___12601]));
var G__12602 = (i__10062__auto___12601 + (1));
i__10062__auto___12601 = G__12602;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((5)),(0),null));
return cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),argseq__10085__auto__);
}
});
cljs.core.apply.cljs$core$IFn$_invoke$arity$2 = (function (f,args){
if(f.cljs$lang$applyTo){
var fixed_arity = f.cljs$lang$maxFixedArity;
var bc = cljs.core.bounded_count((fixed_arity + (1)),args);
if((bc <= fixed_arity)){
return cljs.core.apply_to(f,bc,args);
} else {
return f.cljs$lang$applyTo(args);
}
} else {
return cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$2(f,cljs.core.seq(args));
}
});
cljs.core.apply.cljs$core$IFn$_invoke$arity$3 = (function (f,x,args){
if(f.cljs$lang$applyTo){
var arglist = cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$2(x,args);
var fixed_arity = f.cljs$lang$maxFixedArity;
var bc = (cljs.core.bounded_count(fixed_arity,args) + (1));
if((bc <= fixed_arity)){
return cljs.core.apply_to(f,bc,arglist);
} else {
return f.cljs$lang$applyTo(arglist);
}
} else {
return cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$3(f,x,cljs.core.seq(args));
}
});
cljs.core.apply.cljs$core$IFn$_invoke$arity$4 = (function (f,x,y,args){
if(f.cljs$lang$applyTo){
var arglist = cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$3(x,y,args);
var fixed_arity = f.cljs$lang$maxFixedArity;
var bc = ((2) + cljs.core.bounded_count((fixed_arity - (1)),args));
if((bc <= fixed_arity)){
return cljs.core.apply_to(f,bc,arglist);
} else {
return f.cljs$lang$applyTo(arglist);
}
} else {
return cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$4(f,x,y,cljs.core.seq(args));
}
});
cljs.core.apply.cljs$core$IFn$_invoke$arity$5 = (function (f,x,y,z,args){
if(f.cljs$lang$applyTo){
var arglist = cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4(x,y,z,args);
var fixed_arity = f.cljs$lang$maxFixedArity;
var bc = ((3) + cljs.core.bounded_count((fixed_arity - (2)),args));
if((bc <= fixed_arity)){
return cljs.core.apply_to(f,bc,arglist);
} else {
return f.cljs$lang$applyTo(arglist);
}
} else {
return cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$5(f,x,y,z,cljs.core.seq(args));
}
});
cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic = (function (f,a,b,c,d,args){
if(f.cljs$lang$applyTo){
var spread_args = cljs.core.spread(args);
var arglist = cljs.core.cons(a,cljs.core.cons(b,cljs.core.cons(c,cljs.core.cons(d,spread_args))));
var fixed_arity = f.cljs$lang$maxFixedArity;
var bc = ((4) + cljs.core.bounded_count((fixed_arity - (3)),spread_args));
if((bc <= fixed_arity)){
return cljs.core.apply_to(f,bc,arglist);
} else {
return f.cljs$lang$applyTo(arglist);
}
} else {
return cljs.core.apply_to_simple.cljs$core$IFn$_invoke$arity$6(f,a,b,c,d,cljs.core.spread(args));
}
});
cljs.core.apply.cljs$lang$applyTo = (function (seq12592){
var G__12593 = cljs.core.first(seq12592);
var seq12592__$1 = cljs.core.next(seq12592);
var G__12594 = cljs.core.first(seq12592__$1);
var seq12592__$2 = cljs.core.next(seq12592__$1);
var G__12595 = cljs.core.first(seq12592__$2);
var seq12592__$3 = cljs.core.next(seq12592__$2);
var G__12596 = cljs.core.first(seq12592__$3);
var seq12592__$4 = cljs.core.next(seq12592__$3);
var G__12597 = cljs.core.first(seq12592__$4);
var seq12592__$5 = cljs.core.next(seq12592__$4);
return cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(G__12593,G__12594,G__12595,G__12596,G__12597,seq12592__$5);
});
cljs.core.apply.cljs$lang$maxFixedArity = (5);
/**
* Returns an object of the same type and value as obj, with
* (apply f (meta obj) args) as its metadata.
*/
cljs.core.vary_meta = (function cljs$core$vary_meta(var_args){
var G__12611 = arguments.length;
switch (G__12611) {
case 2:
return cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
case 4:
return cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));
break;
case 5:
return cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));
break;
case 6:
return cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___12628 = arguments.length;
var i__10062__auto___12629 = (0);
while(true){
if((i__10062__auto___12629 < len__10061__auto___12628)){
args_arr__10084__auto__.push((arguments[i__10062__auto___12629]));
var G__12630 = (i__10062__auto___12629 + (1));
i__10062__auto___12629 = G__12630;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((6)),(0),null));
return cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),argseq__10085__auto__);
}
});
cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$2 = (function (obj,f){
return cljs.core.with_meta(obj,(function (){var G__12612 = cljs.core.meta(obj);
return (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__12612) : f.call(null,G__12612));
})());
});
cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$3 = (function (obj,f,a){
return cljs.core.with_meta(obj,(function (){var G__12613 = cljs.core.meta(obj);
var G__12614 = a;
return (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__12613,G__12614) : f.call(null,G__12613,G__12614));
})());
});
cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$4 = (function (obj,f,a,b){
return cljs.core.with_meta(obj,(function (){var G__12615 = cljs.core.meta(obj);
var G__12616 = a;
var G__12617 = b;
return (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__12615,G__12616,G__12617) : f.call(null,G__12615,G__12616,G__12617));
})());
});
cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$5 = (function (obj,f,a,b,c){
return cljs.core.with_meta(obj,(function (){var G__12618 = cljs.core.meta(obj);
var G__12619 = a;
var G__12620 = b;
var G__12621 = c;
return (f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(G__12618,G__12619,G__12620,G__12621) : f.call(null,G__12618,G__12619,G__12620,G__12621));
})());
});
cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$6 = (function (obj,f,a,b,c,d){
return cljs.core.with_meta(obj,(function (){var G__12622 = cljs.core.meta(obj);
var G__12623 = a;
var G__12624 = b;
var G__12625 = c;
var G__12626 = d;
return (f.cljs$core$IFn$_invoke$arity$5 ? f.cljs$core$IFn$_invoke$arity$5(G__12622,G__12623,G__12624,G__12625,G__12626) : f.call(null,G__12622,G__12623,G__12624,G__12625,G__12626));
})());
});
cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$variadic = (function (obj,f,a,b,c,d,args){
return cljs.core.with_meta(obj,cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(f,cljs.core.meta(obj),a,b,c,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([d,args], 0)));
});
cljs.core.vary_meta.cljs$lang$applyTo = (function (seq12604){
var G__12605 = cljs.core.first(seq12604);
var seq12604__$1 = cljs.core.next(seq12604);
var G__12606 = cljs.core.first(seq12604__$1);
var seq12604__$2 = cljs.core.next(seq12604__$1);
var G__12607 = cljs.core.first(seq12604__$2);
var seq12604__$3 = cljs.core.next(seq12604__$2);
var G__12608 = cljs.core.first(seq12604__$3);
var seq12604__$4 = cljs.core.next(seq12604__$3);
var G__12609 = cljs.core.first(seq12604__$4);
var seq12604__$5 = cljs.core.next(seq12604__$4);
var G__12610 = cljs.core.first(seq12604__$5);
var seq12604__$6 = cljs.core.next(seq12604__$5);
return cljs.core.vary_meta.cljs$core$IFn$_invoke$arity$variadic(G__12605,G__12606,G__12607,G__12608,G__12609,G__12610,seq12604__$6);
});
cljs.core.vary_meta.cljs$lang$maxFixedArity = (6);
/**
* Same as (not (= obj1 obj2))
*/
cljs.core.not_EQ_ = (function cljs$core$not_EQ_(var_args){
var G__12635 = arguments.length;
switch (G__12635) {
case 1:
return cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___12637 = arguments.length;
var i__10062__auto___12638 = (0);
while(true){
if((i__10062__auto___12638 < len__10061__auto___12637)){
args_arr__10084__auto__.push((arguments[i__10062__auto___12638]));
var G__12639 = (i__10062__auto___12638 + (1));
i__10062__auto___12638 = G__12639;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((2)),(0),null));
return cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__10085__auto__);
}
});
cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$1 = (function (x){
return false;
});
cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2 = (function (x,y){
return !(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(x,y));
});
cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$variadic = (function (x,y,more){
return cljs.core.not(cljs.core.apply.cljs$core$IFn$_invoke$arity$4(cljs.core._EQ_,x,y,more));
});
cljs.core.not_EQ_.cljs$lang$applyTo = (function (seq12632){
var G__12633 = cljs.core.first(seq12632);
var seq12632__$1 = cljs.core.next(seq12632);
var G__12634 = cljs.core.first(seq12632__$1);
var seq12632__$2 = cljs.core.next(seq12632__$1);
return cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$variadic(G__12633,G__12634,seq12632__$2);
});
cljs.core.not_EQ_.cljs$lang$maxFixedArity = (2);
/**
* If coll is empty, returns nil, else coll
*/
cljs.core.not_empty = (function cljs$core$not_empty(coll){
if(cljs.core.seq(coll)){
return coll;
} else {
return null;
}
});
cljs.core.nil_iter = (function cljs$core$nil_iter(){
if(typeof cljs.core.t_cljs$core12640 !== 'undefined'){
} else {
/**
* @constructor
* @implements {cljs.core.IMeta}
* @implements {cljs.core.IWithMeta}
*/
cljs.core.t_cljs$core12640 = (function (meta12641){
this.meta12641 = meta12641;
this.cljs$lang$protocol_mask$partition0$ = 393216;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
cljs.core.t_cljs$core12640.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (_12642,meta12641__$1){
var self__ = this;
var _12642__$1 = this;
return (new cljs.core.t_cljs$core12640(meta12641__$1));
});
cljs.core.t_cljs$core12640.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_12642){
var self__ = this;
var _12642__$1 = this;
return self__.meta12641;
});
cljs.core.t_cljs$core12640.prototype.hasNext = (function (){
var self__ = this;
var _ = this;
return false;
});
cljs.core.t_cljs$core12640.prototype.next = (function (){
var self__ = this;
var _ = this;
return (new Error("No such element"));
});
cljs.core.t_cljs$core12640.prototype.remove = (function (){
var self__ = this;
var _ = this;
return (new Error("Unsupported operation"));
});
cljs.core.t_cljs$core12640.getBasis = (function (){
return new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$meta12641], null);
});
cljs.core.t_cljs$core12640.cljs$lang$type = true;
cljs.core.t_cljs$core12640.cljs$lang$ctorStr = "cljs.core/t_cljs$core12640";
cljs.core.t_cljs$core12640.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/t_cljs$core12640");
});
cljs.core.__GT_t_cljs$core12640 = (function cljs$core$nil_iter_$___GT_t_cljs$core12640(meta12641){
return (new cljs.core.t_cljs$core12640(meta12641));
});
}
return (new cljs.core.t_cljs$core12640(cljs.core.PersistentArrayMap.EMPTY));
});
/**
* @constructor
*/
cljs.core.StringIter = (function (s,i){
this.s = s;
this.i = i;
});
cljs.core.StringIter.prototype.hasNext = (function (){
var self__ = this;
var _ = this;
return (self__.i < self__.s.length);
});
cljs.core.StringIter.prototype.next = (function (){
var self__ = this;
var _ = this;
var ret = self__.s.charAt(self__.i);
self__.i = (self__.i + (1));
return ret;
});
cljs.core.StringIter.prototype.remove = (function (){
var self__ = this;
var _ = this;
return (new Error("Unsupported operation"));
});
cljs.core.StringIter.getBasis = (function (){
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$s,cljs.core.with_meta(cljs.core.cst$sym$i,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null))], null);
});
cljs.core.StringIter.cljs$lang$type = true;
cljs.core.StringIter.cljs$lang$ctorStr = "cljs.core/StringIter";
cljs.core.StringIter.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/StringIter");
});
cljs.core.__GT_StringIter = (function cljs$core$__GT_StringIter(s,i){
return (new cljs.core.StringIter(s,i));
});
cljs.core.string_iter = (function cljs$core$string_iter(x){
return (new cljs.core.StringIter(x,(0)));
});
/**
* @constructor
*/
cljs.core.ArrayIter = (function (arr,i){
this.arr = arr;
this.i = i;
});
cljs.core.ArrayIter.prototype.hasNext = (function (){
var self__ = this;
var _ = this;
return (self__.i < self__.arr.length);
});
cljs.core.ArrayIter.prototype.next = (function (){
var self__ = this;
var _ = this;
var ret = (self__.arr[self__.i]);
self__.i = (self__.i + (1));
return ret;
});
cljs.core.ArrayIter.prototype.remove = (function (){
var self__ = this;
var _ = this;
return (new Error("Unsupported operation"));
});
cljs.core.ArrayIter.getBasis = (function (){
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$arr,cljs.core.with_meta(cljs.core.cst$sym$i,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null))], null);
});
cljs.core.ArrayIter.cljs$lang$type = true;
cljs.core.ArrayIter.cljs$lang$ctorStr = "cljs.core/ArrayIter";
cljs.core.ArrayIter.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/ArrayIter");
});
cljs.core.__GT_ArrayIter = (function cljs$core$__GT_ArrayIter(arr,i){
return (new cljs.core.ArrayIter(arr,i));
});
cljs.core.array_iter = (function cljs$core$array_iter(x){
return (new cljs.core.ArrayIter(x,(0)));
});
cljs.core.INIT = ({});
cljs.core.START = ({});
/**
* @constructor
*/
cljs.core.SeqIter = (function (_seq,_next){
this._seq = _seq;
this._next = _next;
});
cljs.core.SeqIter.prototype.hasNext = (function (){
var self__ = this;
var _ = this;
if((self__._seq === cljs.core.INIT)){
self__._seq = cljs.core.START;
self__._next = cljs.core.seq(self__._next);
} else {
if((self__._seq === self__._next)){
self__._next = cljs.core.next(self__._seq);
} else {
}
}
return !((self__._next == null));
});
cljs.core.SeqIter.prototype.next = (function (){
var self__ = this;
var this$ = this;
if(!(this$.hasNext())){
throw (new Error("No such element"));
} else {
self__._seq = self__._next;
return cljs.core.first(self__._next);
}
});
cljs.core.SeqIter.prototype.remove = (function (){
var self__ = this;
var _ = this;
return (new Error("Unsupported operation"));
});
cljs.core.SeqIter.getBasis = (function (){
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(cljs.core.cst$sym$_seq,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null)),cljs.core.with_meta(cljs.core.cst$sym$_next,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null))], null);
});
cljs.core.SeqIter.cljs$lang$type = true;
cljs.core.SeqIter.cljs$lang$ctorStr = "cljs.core/SeqIter";
cljs.core.SeqIter.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/SeqIter");
});
cljs.core.__GT_SeqIter = (function cljs$core$__GT_SeqIter(_seq,_next){
return (new cljs.core.SeqIter(_seq,_next));
});
cljs.core.seq_iter = (function cljs$core$seq_iter(coll){
return (new cljs.core.SeqIter(cljs.core.INIT,coll));
});
cljs.core.iter = (function cljs$core$iter(coll){
if(cljs.core.iterable_QMARK_(coll)){
return cljs.core._iterator(coll);
} else {
if((coll == null)){
return cljs.core.nil_iter();
} else {
if(typeof coll === 'string'){
return cljs.core.string_iter(coll);
} else {
if(cljs.core.array_QMARK_(coll)){
return cljs.core.array_iter(coll);
} else {
if(cljs.core.seqable_QMARK_(coll)){
return cljs.core.seq_iter(coll);
} else {
throw (new Error(["Cannot create iterator from ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(coll)].join('')));
}
}
}
}
}
});
/**
* @constructor
*/
cljs.core.Many = (function (vals){
this.vals = vals;
});
cljs.core.Many.prototype.add = (function (o){
var self__ = this;
var this$ = this;
self__.vals.push(o);
return this$;
});
cljs.core.Many.prototype.remove = (function (){
var self__ = this;
var this$ = this;
return self__.vals.shift();
});
cljs.core.Many.prototype.isEmpty = (function (){
var self__ = this;
var this$ = this;
return (self__.vals.length === (0));
});
cljs.core.Many.prototype.toString = (function (){
var self__ = this;
var this$ = this;
return ["Many: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.vals)].join('');
});
cljs.core.Many.getBasis = (function (){
return new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$vals], null);
});
cljs.core.Many.cljs$lang$type = true;
cljs.core.Many.cljs$lang$ctorStr = "cljs.core/Many";
cljs.core.Many.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/Many");
});
cljs.core.__GT_Many = (function cljs$core$__GT_Many(vals){
return (new cljs.core.Many(vals));
});
cljs.core.NONE = ({});
/**
* @constructor
*/
cljs.core.Single = (function (val){
this.val = val;
});
cljs.core.Single.prototype.add = (function (o){
var self__ = this;
var this$ = this;
if((self__.val === cljs.core.NONE)){
self__.val = o;
return this$;
} else {
return (new cljs.core.Many([self__.val,o]));
}
});
cljs.core.Single.prototype.remove = (function (){
var self__ = this;
var this$ = this;
if((self__.val === cljs.core.NONE)){
throw (new Error(["Removing object from empty buffer"].join('')));
} else {
var ret = self__.val;
self__.val = cljs.core.NONE;
return ret;
}
});
cljs.core.Single.prototype.isEmpty = (function (){
var self__ = this;
var this$ = this;
return (self__.val === cljs.core.NONE);
});
cljs.core.Single.prototype.toString = (function (){
var self__ = this;
var this$ = this;
return ["Single: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.val)].join('');
});
cljs.core.Single.getBasis = (function (){
return new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(cljs.core.cst$sym$val,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null))], null);
});
cljs.core.Single.cljs$lang$type = true;
cljs.core.Single.cljs$lang$ctorStr = "cljs.core/Single";
cljs.core.Single.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/Single");
});
cljs.core.__GT_Single = (function cljs$core$__GT_Single(val){
return (new cljs.core.Single(val));
});
/**
* @constructor
*/
cljs.core.Empty = (function (){
});
cljs.core.Empty.prototype.add = (function (o){
var self__ = this;
var this$ = this;
return (new cljs.core.Single(o));
});
cljs.core.Empty.prototype.remove = (function (){
var self__ = this;
var this$ = this;
throw (new Error(["Removing object from empty buffer"].join('')));
});
cljs.core.Empty.prototype.isEmpty = (function (){
var self__ = this;
var this$ = this;
return true;
});
cljs.core.Empty.prototype.toString = (function (){
var self__ = this;
var this$ = this;
return "Empty";
});
cljs.core.Empty.getBasis = (function (){
return cljs.core.PersistentVector.EMPTY;
});
cljs.core.Empty.cljs$lang$type = true;
cljs.core.Empty.cljs$lang$ctorStr = "cljs.core/Empty";
cljs.core.Empty.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/Empty");
});
cljs.core.__GT_Empty = (function cljs$core$__GT_Empty(){
return (new cljs.core.Empty());
});
cljs.core.EMPTY = (new cljs.core.Empty());
/**
* @constructor
*/
cljs.core.MultiIterator = (function (iters){
this.iters = iters;
});
cljs.core.MultiIterator.prototype.hasNext = (function (){
var self__ = this;
var _ = this;
var iters__$1 = cljs.core.seq(self__.iters);
while(true){
if(!((iters__$1 == null))){
var iter = cljs.core.first(iters__$1);
if(!(iter.hasNext())){
return false;
} else {
var G__12643 = cljs.core.next(iters__$1);
iters__$1 = G__12643;
continue;
}
} else {
return true;
}
break;
}
});
cljs.core.MultiIterator.prototype.next = (function (){
var self__ = this;
var _ = this;
var nexts = [];
var n__9827__auto___12644 = self__.iters.length;
var i_12645 = (0);
while(true){
if((i_12645 < n__9827__auto___12644)){
(nexts[i_12645] = (self__.iters[i_12645]).next());
var G__12646 = (i_12645 + (1));
i_12645 = G__12646;
continue;
} else {
}
break;
}
return cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(nexts,(0));
});
cljs.core.MultiIterator.getBasis = (function (){
return new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$iters], null);
});
cljs.core.MultiIterator.cljs$lang$type = true;
cljs.core.MultiIterator.cljs$lang$ctorStr = "cljs.core/MultiIterator";
cljs.core.MultiIterator.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/MultiIterator");
});
cljs.core.__GT_MultiIterator = (function cljs$core$__GT_MultiIterator(iters){
return (new cljs.core.MultiIterator(iters));
});
cljs.core.chunkIteratorSeq = (function cljs$core$chunkIteratorSeq(iter){
return (new cljs.core.LazySeq(null,(function (){
if(iter.hasNext()){
var arr = [];
var n = (0);
while(true){
if(cljs.core.truth_((function (){var and__8770__auto__ = iter.hasNext();
if(cljs.core.truth_(and__8770__auto__)){
return (n < (32));
} else {
return and__8770__auto__;
}
})())){
(arr[n] = iter.next());
var G__12647 = (n + (1));
n = G__12647;
continue;
} else {
return cljs.core.chunk_cons(cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$3(arr,(0),n),(cljs.core.chunkIteratorSeq.cljs$core$IFn$_invoke$arity$1 ? cljs.core.chunkIteratorSeq.cljs$core$IFn$_invoke$arity$1(iter) : cljs.core.chunkIteratorSeq.call(null,iter)));
}
break;
}
} else {
return null;
}
}),null,null));
});
/**
* @constructor
*/
cljs.core.TransformerIterator = (function (buffer,_next,completed,xf,sourceIter,multi){
this.buffer = buffer;
this._next = _next;
this.completed = completed;
this.xf = xf;
this.sourceIter = sourceIter;
this.multi = multi;
});
cljs.core.TransformerIterator.prototype.step = (function (){
var self__ = this;
var this$ = this;
if(!((self__._next === cljs.core.NONE))){
return true;
} else {
while(true){
if((self__._next === cljs.core.NONE)){
if(self__.buffer.isEmpty()){
if(self__.completed){
return false;
} else {
if(self__.sourceIter.hasNext()){
var iter = ((self__.multi)?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(self__.xf,cljs.core.cons(null,self__.sourceIter.next())):(function (){var G__12648 = null;
var G__12649 = self__.sourceIter.next();
return (self__.xf.cljs$core$IFn$_invoke$arity$2 ? self__.xf.cljs$core$IFn$_invoke$arity$2(G__12648,G__12649) : self__.xf.call(null,G__12648,G__12649));
})());
if(cljs.core.reduced_QMARK_(iter)){
(self__.xf.cljs$core$IFn$_invoke$arity$1 ? self__.xf.cljs$core$IFn$_invoke$arity$1(null) : self__.xf.call(null,null));
self__.completed = true;
} else {
}
continue;
} else {
(self__.xf.cljs$core$IFn$_invoke$arity$1 ? self__.xf.cljs$core$IFn$_invoke$arity$1(null) : self__.xf.call(null,null));
self__.completed = true;
continue;
}
}
} else {
self__._next = self__.buffer.remove();
continue;
}
} else {
return true;
}
break;
}
}
});
cljs.core.TransformerIterator.prototype.hasNext = (function (){
var self__ = this;
var this$ = this;
return this$.step();
});
cljs.core.TransformerIterator.prototype.next = (function (){
var self__ = this;
var this$ = this;
if(this$.hasNext()){
var ret = self__._next;
self__._next = cljs.core.NONE;
return ret;
} else {
throw (new Error("No such element"));
}
});
cljs.core.TransformerIterator.prototype.remove = (function (){
var self__ = this;
var _ = this;
return (new Error("Unsupported operation"));
});
cljs.core.TransformerIterator.getBasis = (function (){
return new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(cljs.core.cst$sym$buffer,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null)),cljs.core.with_meta(cljs.core.cst$sym$_next,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null)),cljs.core.with_meta(cljs.core.cst$sym$completed,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null)),cljs.core.with_meta(cljs.core.cst$sym$xf,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null)),cljs.core.cst$sym$sourceIter,cljs.core.cst$sym$multi], null);
});
cljs.core.TransformerIterator.cljs$lang$type = true;
cljs.core.TransformerIterator.cljs$lang$ctorStr = "cljs.core/TransformerIterator";
cljs.core.TransformerIterator.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/TransformerIterator");
});
cljs.core.__GT_TransformerIterator = (function cljs$core$__GT_TransformerIterator(buffer,_next,completed,xf,sourceIter,multi){
return (new cljs.core.TransformerIterator(buffer,_next,completed,xf,sourceIter,multi));
});
var G__12650_12653 = cljs.core.TransformerIterator.prototype;
var G__12651_12654 = cljs.core.ITER_SYMBOL;
var G__12652_12655 = ((function (G__12650_12653,G__12651_12654){
return (function (){
var this__9929__auto__ = this;
return cljs.core.es6_iterator(this__9929__auto__);
});})(G__12650_12653,G__12651_12654))
;
goog.object.set(G__12650_12653,G__12651_12654,G__12652_12655);
cljs.core.transformer_iterator = (function cljs$core$transformer_iterator(xform,sourceIter,multi){
var iterator = (new cljs.core.TransformerIterator(cljs.core.EMPTY,cljs.core.NONE,false,null,sourceIter,multi));
iterator.xf = (function (){var G__12656 = ((function (iterator){
return (function() {
var G__12657 = null;
var G__12657__0 = (function (){
return null;
});
var G__12657__1 = (function (acc){
return acc;
});
var G__12657__2 = (function (acc,o){
iterator.buffer = iterator.buffer.add(o);
return acc;
});
G__12657 = function(acc,o){
switch(arguments.length){
case 0:
return G__12657__0.call(this);
case 1:
return G__12657__1.call(this,acc);
case 2:
return G__12657__2.call(this,acc,o);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__12657.cljs$core$IFn$_invoke$arity$0 = G__12657__0;
G__12657.cljs$core$IFn$_invoke$arity$1 = G__12657__1;
G__12657.cljs$core$IFn$_invoke$arity$2 = G__12657__2;
return G__12657;
})()
;})(iterator))
;
return (xform.cljs$core$IFn$_invoke$arity$1 ? xform.cljs$core$IFn$_invoke$arity$1(G__12656) : xform.call(null,G__12656));
})();
return iterator;
});
cljs.core.TransformerIterator.create = (function (xform,source){
return cljs.core.transformer_iterator(xform,source,false);
});
cljs.core.TransformerIterator.createMulti = (function (xform,sources){
return cljs.core.transformer_iterator(xform,(new cljs.core.MultiIterator(cljs.core.to_array(sources))),true);
});
/**
* Coerces coll to a (possibly empty) sequence, if it is not already
* one. Will not force a lazy seq. (sequence nil) yields (), When a
* transducer is supplied, returns a lazy sequence of applications of
* the transform to the items in coll(s), i.e. to the set of first
* items of each coll, followed by the set of second
* items in each coll, until any one of the colls is exhausted. Any
* remaining items in other colls are ignored. The transform should accept
* number-of-colls arguments
*/
cljs.core.sequence = (function cljs$core$sequence(var_args){
var G__12662 = arguments.length;
switch (G__12662) {
case 1:
return cljs.core.sequence.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.sequence.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___12664 = arguments.length;
var i__10062__auto___12665 = (0);
while(true){
if((i__10062__auto___12665 < len__10061__auto___12664)){
args_arr__10084__auto__.push((arguments[i__10062__auto___12665]));
var G__12666 = (i__10062__auto___12665 + (1));
i__10062__auto___12665 = G__12666;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((2)),(0),null));
return cljs.core.sequence.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__10085__auto__);
}
});
cljs.core.sequence.cljs$core$IFn$_invoke$arity$1 = (function (coll){
if(cljs.core.seq_QMARK_(coll)){
return coll;
} else {
var or__8782__auto__ = cljs.core.seq(coll);
if(or__8782__auto__){
return or__8782__auto__;
} else {
return cljs.core.List.EMPTY;
}
}
});
cljs.core.sequence.cljs$core$IFn$_invoke$arity$2 = (function (xform,coll){
var or__8782__auto__ = cljs.core.chunkIteratorSeq(cljs.core.TransformerIterator.create(xform,cljs.core.iter(coll)));
if(cljs.core.truth_(or__8782__auto__)){
return or__8782__auto__;
} else {
return cljs.core.List.EMPTY;
}
});
cljs.core.sequence.cljs$core$IFn$_invoke$arity$variadic = (function (xform,coll,colls){
var or__8782__auto__ = cljs.core.chunkIteratorSeq(cljs.core.TransformerIterator.createMulti(xform,cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.iter,cljs.core.cons(coll,colls))));
if(cljs.core.truth_(or__8782__auto__)){
return or__8782__auto__;
} else {
return cljs.core.List.EMPTY;
}
});
cljs.core.sequence.cljs$lang$applyTo = (function (seq12659){
var G__12660 = cljs.core.first(seq12659);
var seq12659__$1 = cljs.core.next(seq12659);
var G__12661 = cljs.core.first(seq12659__$1);
var seq12659__$2 = cljs.core.next(seq12659__$1);
return cljs.core.sequence.cljs$core$IFn$_invoke$arity$variadic(G__12660,G__12661,seq12659__$2);
});
cljs.core.sequence.cljs$lang$maxFixedArity = (2);
/**
* Returns true if (pred x) is logical true for every x in coll, else
* false.
*/
cljs.core.every_QMARK_ = (function cljs$core$every_QMARK_(pred,coll){
while(true){
if((cljs.core.seq(coll) == null)){
return true;
} else {
if(cljs.core.truth_((function (){var G__12667 = cljs.core.first(coll);
return (pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(G__12667) : pred.call(null,G__12667));
})())){
var G__12668 = pred;
var G__12669 = cljs.core.next(coll);
pred = G__12668;
coll = G__12669;
continue;
} else {
return false;
}
}
break;
}
});
/**
* Returns false if (pred x) is logical true for every x in
* coll, else true.
*/
cljs.core.not_every_QMARK_ = (function cljs$core$not_every_QMARK_(pred,coll){
return !(cljs.core.every_QMARK_(pred,coll));
});
/**
* Returns the first logical true value of (pred x) for any x in coll,
* else nil. One common idiom is to use a set as pred, for example
* this will return :fred if :fred is in the sequence, otherwise nil:
* (some #{:fred} coll)
*/
cljs.core.some = (function cljs$core$some(pred,coll){
while(true){
if(cljs.core.seq(coll)){
var or__8782__auto__ = (function (){var G__12671 = cljs.core.first(coll);
return (pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(G__12671) : pred.call(null,G__12671));
})();
if(cljs.core.truth_(or__8782__auto__)){
return or__8782__auto__;
} else {
var G__12672 = pred;
var G__12673 = cljs.core.next(coll);
pred = G__12672;
coll = G__12673;
continue;
}
} else {
return null;
}
break;
}
});
/**
* Returns false if (pred x) is logical true for any x in coll,
* else true.
*/
cljs.core.not_any_QMARK_ = (function cljs$core$not_any_QMARK_(pred,coll){
return cljs.core.not(cljs.core.some(pred,coll));
});
/**
* Returns true if n is even, throws an exception if n is not an integer
*/
cljs.core.even_QMARK_ = (function cljs$core$even_QMARK_(n){
if(cljs.core.integer_QMARK_(n)){
return ((n & (1)) === (0));
} else {
throw (new Error(["Argument must be an integer: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(n)].join('')));
}
});
/**
* Returns true if n is odd, throws an exception if n is not an integer
*/
cljs.core.odd_QMARK_ = (function cljs$core$odd_QMARK_(n){
return !(cljs.core.even_QMARK_(n));
});
/**
* Takes a fn f and returns a fn that takes the same arguments as f,
* has the same effects, if any, and returns the opposite truth value.
*/
cljs.core.complement = (function cljs$core$complement(f){
return (function() {
var G__12674 = null;
var G__12674__0 = (function (){
return cljs.core.not((f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null)));
});
var G__12674__1 = (function (x){
return cljs.core.not((f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(x) : f.call(null,x)));
});
var G__12674__2 = (function (x,y){
return cljs.core.not((f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(x,y) : f.call(null,x,y)));
});
var G__12674__3 = (function() {
var G__12675__delegate = function (x,y,zs){
return cljs.core.not(cljs.core.apply.cljs$core$IFn$_invoke$arity$4(f,x,y,zs));
};
var G__12675 = function (x,y,var_args){
var zs = null;
if (arguments.length > 2) {
var G__12676__i = 0, G__12676__a = new Array(arguments.length - 2);
while (G__12676__i < G__12676__a.length) {G__12676__a[G__12676__i] = arguments[G__12676__i + 2]; ++G__12676__i;}
zs = new cljs.core.IndexedSeq(G__12676__a,0,null);
}
return G__12675__delegate.call(this,x,y,zs);};
G__12675.cljs$lang$maxFixedArity = 2;
G__12675.cljs$lang$applyTo = (function (arglist__12677){
var x = cljs.core.first(arglist__12677);
arglist__12677 = cljs.core.next(arglist__12677);
var y = cljs.core.first(arglist__12677);
var zs = cljs.core.rest(arglist__12677);
return G__12675__delegate(x,y,zs);
});
G__12675.cljs$core$IFn$_invoke$arity$variadic = G__12675__delegate;
return G__12675;
})()
;
G__12674 = function(x,y,var_args){
var zs = var_args;
switch(arguments.length){
case 0:
return G__12674__0.call(this);
case 1:
return G__12674__1.call(this,x);
case 2:
return G__12674__2.call(this,x,y);
default:
var G__12678 = null;
if (arguments.length > 2) {
var G__12679__i = 0, G__12679__a = new Array(arguments.length - 2);
while (G__12679__i < G__12679__a.length) {G__12679__a[G__12679__i] = arguments[G__12679__i + 2]; ++G__12679__i;}
G__12678 = new cljs.core.IndexedSeq(G__12679__a,0,null);
}
return G__12674__3.cljs$core$IFn$_invoke$arity$variadic(x,y, G__12678);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__12674.cljs$lang$maxFixedArity = 2;
G__12674.cljs$lang$applyTo = G__12674__3.cljs$lang$applyTo;
G__12674.cljs$core$IFn$_invoke$arity$0 = G__12674__0;
G__12674.cljs$core$IFn$_invoke$arity$1 = G__12674__1;
G__12674.cljs$core$IFn$_invoke$arity$2 = G__12674__2;
G__12674.cljs$core$IFn$_invoke$arity$variadic = G__12674__3.cljs$core$IFn$_invoke$arity$variadic;
return G__12674;
})()
});
/**
* Returns a function that takes any number of arguments and returns x.
*/
cljs.core.constantly = (function cljs$core$constantly(x){
return (function() {
var G__12680__delegate = function (args){
return x;
};
var G__12680 = function (var_args){
var args = null;
if (arguments.length > 0) {
var G__12681__i = 0, G__12681__a = new Array(arguments.length - 0);
while (G__12681__i < G__12681__a.length) {G__12681__a[G__12681__i] = arguments[G__12681__i + 0]; ++G__12681__i;}
args = new cljs.core.IndexedSeq(G__12681__a,0,null);
}
return G__12680__delegate.call(this,args);};
G__12680.cljs$lang$maxFixedArity = 0;
G__12680.cljs$lang$applyTo = (function (arglist__12682){
var args = cljs.core.seq(arglist__12682);
return G__12680__delegate(args);
});
G__12680.cljs$core$IFn$_invoke$arity$variadic = G__12680__delegate;
return G__12680;
})()
;
});
/**
* Takes a set of functions and returns a fn that is the composition
* of those fns. The returned fn takes a variable number of args,
* applies the rightmost of fns to the args, the next
* fn (right-to-left) to the result, etc.
*/
cljs.core.comp = (function cljs$core$comp(var_args){
var G__12688 = arguments.length;
switch (G__12688) {
case 0:
return cljs.core.comp.cljs$core$IFn$_invoke$arity$0();
break;
case 1:
return cljs.core.comp.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.comp.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.comp.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___12706 = arguments.length;
var i__10062__auto___12707 = (0);
while(true){
if((i__10062__auto___12707 < len__10061__auto___12706)){
args_arr__10084__auto__.push((arguments[i__10062__auto___12707]));
var G__12708 = (i__10062__auto___12707 + (1));
i__10062__auto___12707 = G__12708;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((3)),(0),null));
return cljs.core.comp.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__10085__auto__);
}
});
cljs.core.comp.cljs$core$IFn$_invoke$arity$0 = (function (){
return cljs.core.identity;
});
cljs.core.comp.cljs$core$IFn$_invoke$arity$1 = (function (f){
return f;
});
cljs.core.comp.cljs$core$IFn$_invoke$arity$2 = (function (f,g){
return (function() {
var G__12709 = null;
var G__12709__0 = (function (){
var G__12689 = (g.cljs$core$IFn$_invoke$arity$0 ? g.cljs$core$IFn$_invoke$arity$0() : g.call(null));
return (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__12689) : f.call(null,G__12689));
});
var G__12709__1 = (function (x){
var G__12690 = (g.cljs$core$IFn$_invoke$arity$1 ? g.cljs$core$IFn$_invoke$arity$1(x) : g.call(null,x));
return (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__12690) : f.call(null,G__12690));
});
var G__12709__2 = (function (x,y){
var G__12691 = (g.cljs$core$IFn$_invoke$arity$2 ? g.cljs$core$IFn$_invoke$arity$2(x,y) : g.call(null,x,y));
return (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__12691) : f.call(null,G__12691));
});
var G__12709__3 = (function (x,y,z){
var G__12692 = (g.cljs$core$IFn$_invoke$arity$3 ? g.cljs$core$IFn$_invoke$arity$3(x,y,z) : g.call(null,x,y,z));
return (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__12692) : f.call(null,G__12692));
});
var G__12709__4 = (function() {
var G__12710__delegate = function (x,y,z,args){
var G__12693 = cljs.core.apply.cljs$core$IFn$_invoke$arity$5(g,x,y,z,args);
return (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__12693) : f.call(null,G__12693));
};
var G__12710 = function (x,y,z,var_args){
var args = null;
if (arguments.length > 3) {
var G__12711__i = 0, G__12711__a = new Array(arguments.length - 3);
while (G__12711__i < G__12711__a.length) {G__12711__a[G__12711__i] = arguments[G__12711__i + 3]; ++G__12711__i;}
args = new cljs.core.IndexedSeq(G__12711__a,0,null);
}
return G__12710__delegate.call(this,x,y,z,args);};
G__12710.cljs$lang$maxFixedArity = 3;
G__12710.cljs$lang$applyTo = (function (arglist__12712){
var x = cljs.core.first(arglist__12712);
arglist__12712 = cljs.core.next(arglist__12712);
var y = cljs.core.first(arglist__12712);
arglist__12712 = cljs.core.next(arglist__12712);
var z = cljs.core.first(arglist__12712);
var args = cljs.core.rest(arglist__12712);
return G__12710__delegate(x,y,z,args);
});
G__12710.cljs$core$IFn$_invoke$arity$variadic = G__12710__delegate;
return G__12710;
})()
;
G__12709 = function(x,y,z,var_args){
var args = var_args;
switch(arguments.length){
case 0:
return G__12709__0.call(this);
case 1:
return G__12709__1.call(this,x);
case 2:
return G__12709__2.call(this,x,y);
case 3:
return G__12709__3.call(this,x,y,z);
default:
var G__12713 = null;
if (arguments.length > 3) {
var G__12714__i = 0, G__12714__a = new Array(arguments.length - 3);
while (G__12714__i < G__12714__a.length) {G__12714__a[G__12714__i] = arguments[G__12714__i + 3]; ++G__12714__i;}
G__12713 = new cljs.core.IndexedSeq(G__12714__a,0,null);
}
return G__12709__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__12713);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__12709.cljs$lang$maxFixedArity = 3;
G__12709.cljs$lang$applyTo = G__12709__4.cljs$lang$applyTo;
G__12709.cljs$core$IFn$_invoke$arity$0 = G__12709__0;
G__12709.cljs$core$IFn$_invoke$arity$1 = G__12709__1;
G__12709.cljs$core$IFn$_invoke$arity$2 = G__12709__2;
G__12709.cljs$core$IFn$_invoke$arity$3 = G__12709__3;
G__12709.cljs$core$IFn$_invoke$arity$variadic = G__12709__4.cljs$core$IFn$_invoke$arity$variadic;
return G__12709;
})()
});
cljs.core.comp.cljs$core$IFn$_invoke$arity$3 = (function (f,g,h){
return (function() {
var G__12715 = null;
var G__12715__0 = (function (){
var G__12694 = (function (){var G__12695 = (h.cljs$core$IFn$_invoke$arity$0 ? h.cljs$core$IFn$_invoke$arity$0() : h.call(null));
return (g.cljs$core$IFn$_invoke$arity$1 ? g.cljs$core$IFn$_invoke$arity$1(G__12695) : g.call(null,G__12695));
})();
return (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__12694) : f.call(null,G__12694));
});
var G__12715__1 = (function (x){
var G__12696 = (function (){var G__12697 = (h.cljs$core$IFn$_invoke$arity$1 ? h.cljs$core$IFn$_invoke$arity$1(x) : h.call(null,x));
return (g.cljs$core$IFn$_invoke$arity$1 ? g.cljs$core$IFn$_invoke$arity$1(G__12697) : g.call(null,G__12697));
})();
return (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__12696) : f.call(null,G__12696));
});
var G__12715__2 = (function (x,y){
var G__12698 = (function (){var G__12699 = (h.cljs$core$IFn$_invoke$arity$2 ? h.cljs$core$IFn$_invoke$arity$2(x,y) : h.call(null,x,y));
return (g.cljs$core$IFn$_invoke$arity$1 ? g.cljs$core$IFn$_invoke$arity$1(G__12699) : g.call(null,G__12699));
})();
return (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__12698) : f.call(null,G__12698));
});
var G__12715__3 = (function (x,y,z){
var G__12700 = (function (){var G__12701 = (h.cljs$core$IFn$_invoke$arity$3 ? h.cljs$core$IFn$_invoke$arity$3(x,y,z) : h.call(null,x,y,z));
return (g.cljs$core$IFn$_invoke$arity$1 ? g.cljs$core$IFn$_invoke$arity$1(G__12701) : g.call(null,G__12701));
})();
return (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__12700) : f.call(null,G__12700));
});
var G__12715__4 = (function() {
var G__12716__delegate = function (x,y,z,args){
var G__12702 = (function (){var G__12703 = cljs.core.apply.cljs$core$IFn$_invoke$arity$5(h,x,y,z,args);
return (g.cljs$core$IFn$_invoke$arity$1 ? g.cljs$core$IFn$_invoke$arity$1(G__12703) : g.call(null,G__12703));
})();
return (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__12702) : f.call(null,G__12702));
};
var G__12716 = function (x,y,z,var_args){
var args = null;
if (arguments.length > 3) {
var G__12717__i = 0, G__12717__a = new Array(arguments.length - 3);
while (G__12717__i < G__12717__a.length) {G__12717__a[G__12717__i] = arguments[G__12717__i + 3]; ++G__12717__i;}
args = new cljs.core.IndexedSeq(G__12717__a,0,null);
}
return G__12716__delegate.call(this,x,y,z,args);};
G__12716.cljs$lang$maxFixedArity = 3;
G__12716.cljs$lang$applyTo = (function (arglist__12718){
var x = cljs.core.first(arglist__12718);
arglist__12718 = cljs.core.next(arglist__12718);
var y = cljs.core.first(arglist__12718);
arglist__12718 = cljs.core.next(arglist__12718);
var z = cljs.core.first(arglist__12718);
var args = cljs.core.rest(arglist__12718);
return G__12716__delegate(x,y,z,args);
});
G__12716.cljs$core$IFn$_invoke$arity$variadic = G__12716__delegate;
return G__12716;
})()
;
G__12715 = function(x,y,z,var_args){
var args = var_args;
switch(arguments.length){
case 0:
return G__12715__0.call(this);
case 1:
return G__12715__1.call(this,x);
case 2:
return G__12715__2.call(this,x,y);
case 3:
return G__12715__3.call(this,x,y,z);
default:
var G__12719 = null;
if (arguments.length > 3) {
var G__12720__i = 0, G__12720__a = new Array(arguments.length - 3);
while (G__12720__i < G__12720__a.length) {G__12720__a[G__12720__i] = arguments[G__12720__i + 3]; ++G__12720__i;}
G__12719 = new cljs.core.IndexedSeq(G__12720__a,0,null);
}
return G__12715__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__12719);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__12715.cljs$lang$maxFixedArity = 3;
G__12715.cljs$lang$applyTo = G__12715__4.cljs$lang$applyTo;
G__12715.cljs$core$IFn$_invoke$arity$0 = G__12715__0;
G__12715.cljs$core$IFn$_invoke$arity$1 = G__12715__1;
G__12715.cljs$core$IFn$_invoke$arity$2 = G__12715__2;
G__12715.cljs$core$IFn$_invoke$arity$3 = G__12715__3;
G__12715.cljs$core$IFn$_invoke$arity$variadic = G__12715__4.cljs$core$IFn$_invoke$arity$variadic;
return G__12715;
})()
});
cljs.core.comp.cljs$core$IFn$_invoke$arity$variadic = (function (f1,f2,f3,fs){
var fs__$1 = cljs.core.reverse(cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4(f1,f2,f3,fs));
return ((function (fs__$1){
return (function() {
var G__12721__delegate = function (args){
var ret = cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.first(fs__$1),args);
var fs__$2 = cljs.core.next(fs__$1);
while(true){
if(fs__$2){
var G__12722 = (function (){var fexpr__12704 = cljs.core.first(fs__$2);
return (fexpr__12704.cljs$core$IFn$_invoke$arity$1 ? fexpr__12704.cljs$core$IFn$_invoke$arity$1(ret) : fexpr__12704.call(null,ret));
})();
var G__12723 = cljs.core.next(fs__$2);
ret = G__12722;
fs__$2 = G__12723;
continue;
} else {
return ret;
}
break;
}
};
var G__12721 = function (var_args){
var args = null;
if (arguments.length > 0) {
var G__12724__i = 0, G__12724__a = new Array(arguments.length - 0);
while (G__12724__i < G__12724__a.length) {G__12724__a[G__12724__i] = arguments[G__12724__i + 0]; ++G__12724__i;}
args = new cljs.core.IndexedSeq(G__12724__a,0,null);
}
return G__12721__delegate.call(this,args);};
G__12721.cljs$lang$maxFixedArity = 0;
G__12721.cljs$lang$applyTo = (function (arglist__12725){
var args = cljs.core.seq(arglist__12725);
return G__12721__delegate(args);
});
G__12721.cljs$core$IFn$_invoke$arity$variadic = G__12721__delegate;
return G__12721;
})()
;
;})(fs__$1))
});
cljs.core.comp.cljs$lang$applyTo = (function (seq12684){
var G__12685 = cljs.core.first(seq12684);
var seq12684__$1 = cljs.core.next(seq12684);
var G__12686 = cljs.core.first(seq12684__$1);
var seq12684__$2 = cljs.core.next(seq12684__$1);
var G__12687 = cljs.core.first(seq12684__$2);
var seq12684__$3 = cljs.core.next(seq12684__$2);
return cljs.core.comp.cljs$core$IFn$_invoke$arity$variadic(G__12685,G__12686,G__12687,seq12684__$3);
});
cljs.core.comp.cljs$lang$maxFixedArity = (3);
/**
* Takes a function f and fewer than the normal arguments to f, and
* returns a fn that takes a variable number of additional args. When
* called, the returned function calls f with args + additional args.
*/
cljs.core.partial = (function cljs$core$partial(var_args){
var G__12732 = arguments.length;
switch (G__12732) {
case 1:
return cljs.core.partial.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.partial.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.partial.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
case 4:
return cljs.core.partial.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___12734 = arguments.length;
var i__10062__auto___12735 = (0);
while(true){
if((i__10062__auto___12735 < len__10061__auto___12734)){
args_arr__10084__auto__.push((arguments[i__10062__auto___12735]));
var G__12736 = (i__10062__auto___12735 + (1));
i__10062__auto___12735 = G__12736;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((4)),(0),null));
return cljs.core.partial.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__10085__auto__);
}
});
cljs.core.partial.cljs$core$IFn$_invoke$arity$1 = (function (f){
return f;
});
cljs.core.partial.cljs$core$IFn$_invoke$arity$2 = (function (f,arg1){
return (function() {
var G__12737 = null;
var G__12737__0 = (function (){
return (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(arg1) : f.call(null,arg1));
});
var G__12737__1 = (function (x){
return (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(arg1,x) : f.call(null,arg1,x));
});
var G__12737__2 = (function (x,y){
return (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(arg1,x,y) : f.call(null,arg1,x,y));
});
var G__12737__3 = (function (x,y,z){
return (f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(arg1,x,y,z) : f.call(null,arg1,x,y,z));
});
var G__12737__4 = (function() {
var G__12738__delegate = function (x,y,z,args){
return cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(f,arg1,x,y,z,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([args], 0));
};
var G__12738 = function (x,y,z,var_args){
var args = null;
if (arguments.length > 3) {
var G__12739__i = 0, G__12739__a = new Array(arguments.length - 3);
while (G__12739__i < G__12739__a.length) {G__12739__a[G__12739__i] = arguments[G__12739__i + 3]; ++G__12739__i;}
args = new cljs.core.IndexedSeq(G__12739__a,0,null);
}
return G__12738__delegate.call(this,x,y,z,args);};
G__12738.cljs$lang$maxFixedArity = 3;
G__12738.cljs$lang$applyTo = (function (arglist__12740){
var x = cljs.core.first(arglist__12740);
arglist__12740 = cljs.core.next(arglist__12740);
var y = cljs.core.first(arglist__12740);
arglist__12740 = cljs.core.next(arglist__12740);
var z = cljs.core.first(arglist__12740);
var args = cljs.core.rest(arglist__12740);
return G__12738__delegate(x,y,z,args);
});
G__12738.cljs$core$IFn$_invoke$arity$variadic = G__12738__delegate;
return G__12738;
})()
;
G__12737 = function(x,y,z,var_args){
var args = var_args;
switch(arguments.length){
case 0:
return G__12737__0.call(this);
case 1:
return G__12737__1.call(this,x);
case 2:
return G__12737__2.call(this,x,y);
case 3:
return G__12737__3.call(this,x,y,z);
default:
var G__12741 = null;
if (arguments.length > 3) {
var G__12742__i = 0, G__12742__a = new Array(arguments.length - 3);
while (G__12742__i < G__12742__a.length) {G__12742__a[G__12742__i] = arguments[G__12742__i + 3]; ++G__12742__i;}
G__12741 = new cljs.core.IndexedSeq(G__12742__a,0,null);
}
return G__12737__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__12741);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__12737.cljs$lang$maxFixedArity = 3;
G__12737.cljs$lang$applyTo = G__12737__4.cljs$lang$applyTo;
G__12737.cljs$core$IFn$_invoke$arity$0 = G__12737__0;
G__12737.cljs$core$IFn$_invoke$arity$1 = G__12737__1;
G__12737.cljs$core$IFn$_invoke$arity$2 = G__12737__2;
G__12737.cljs$core$IFn$_invoke$arity$3 = G__12737__3;
G__12737.cljs$core$IFn$_invoke$arity$variadic = G__12737__4.cljs$core$IFn$_invoke$arity$variadic;
return G__12737;
})()
});
cljs.core.partial.cljs$core$IFn$_invoke$arity$3 = (function (f,arg1,arg2){
return (function() {
var G__12743 = null;
var G__12743__0 = (function (){
return (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(arg1,arg2) : f.call(null,arg1,arg2));
});
var G__12743__1 = (function (x){
return (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(arg1,arg2,x) : f.call(null,arg1,arg2,x));
});
var G__12743__2 = (function (x,y){
return (f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(arg1,arg2,x,y) : f.call(null,arg1,arg2,x,y));
});
var G__12743__3 = (function (x,y,z){
return (f.cljs$core$IFn$_invoke$arity$5 ? f.cljs$core$IFn$_invoke$arity$5(arg1,arg2,x,y,z) : f.call(null,arg1,arg2,x,y,z));
});
var G__12743__4 = (function() {
var G__12744__delegate = function (x,y,z,args){
return cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(f,arg1,arg2,x,y,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([z,args], 0));
};
var G__12744 = function (x,y,z,var_args){
var args = null;
if (arguments.length > 3) {
var G__12745__i = 0, G__12745__a = new Array(arguments.length - 3);
while (G__12745__i < G__12745__a.length) {G__12745__a[G__12745__i] = arguments[G__12745__i + 3]; ++G__12745__i;}
args = new cljs.core.IndexedSeq(G__12745__a,0,null);
}
return G__12744__delegate.call(this,x,y,z,args);};
G__12744.cljs$lang$maxFixedArity = 3;
G__12744.cljs$lang$applyTo = (function (arglist__12746){
var x = cljs.core.first(arglist__12746);
arglist__12746 = cljs.core.next(arglist__12746);
var y = cljs.core.first(arglist__12746);
arglist__12746 = cljs.core.next(arglist__12746);
var z = cljs.core.first(arglist__12746);
var args = cljs.core.rest(arglist__12746);
return G__12744__delegate(x,y,z,args);
});
G__12744.cljs$core$IFn$_invoke$arity$variadic = G__12744__delegate;
return G__12744;
})()
;
G__12743 = function(x,y,z,var_args){
var args = var_args;
switch(arguments.length){
case 0:
return G__12743__0.call(this);
case 1:
return G__12743__1.call(this,x);
case 2:
return G__12743__2.call(this,x,y);
case 3:
return G__12743__3.call(this,x,y,z);
default:
var G__12747 = null;
if (arguments.length > 3) {
var G__12748__i = 0, G__12748__a = new Array(arguments.length - 3);
while (G__12748__i < G__12748__a.length) {G__12748__a[G__12748__i] = arguments[G__12748__i + 3]; ++G__12748__i;}
G__12747 = new cljs.core.IndexedSeq(G__12748__a,0,null);
}
return G__12743__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__12747);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__12743.cljs$lang$maxFixedArity = 3;
G__12743.cljs$lang$applyTo = G__12743__4.cljs$lang$applyTo;
G__12743.cljs$core$IFn$_invoke$arity$0 = G__12743__0;
G__12743.cljs$core$IFn$_invoke$arity$1 = G__12743__1;
G__12743.cljs$core$IFn$_invoke$arity$2 = G__12743__2;
G__12743.cljs$core$IFn$_invoke$arity$3 = G__12743__3;
G__12743.cljs$core$IFn$_invoke$arity$variadic = G__12743__4.cljs$core$IFn$_invoke$arity$variadic;
return G__12743;
})()
});
cljs.core.partial.cljs$core$IFn$_invoke$arity$4 = (function (f,arg1,arg2,arg3){
return (function() {
var G__12749 = null;
var G__12749__0 = (function (){
return (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(arg1,arg2,arg3) : f.call(null,arg1,arg2,arg3));
});
var G__12749__1 = (function (x){
return (f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(arg1,arg2,arg3,x) : f.call(null,arg1,arg2,arg3,x));
});
var G__12749__2 = (function (x,y){
return (f.cljs$core$IFn$_invoke$arity$5 ? f.cljs$core$IFn$_invoke$arity$5(arg1,arg2,arg3,x,y) : f.call(null,arg1,arg2,arg3,x,y));
});
var G__12749__3 = (function (x,y,z){
return (f.cljs$core$IFn$_invoke$arity$6 ? f.cljs$core$IFn$_invoke$arity$6(arg1,arg2,arg3,x,y,z) : f.call(null,arg1,arg2,arg3,x,y,z));
});
var G__12749__4 = (function() {
var G__12750__delegate = function (x,y,z,args){
return cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(f,arg1,arg2,arg3,x,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([y,z,args], 0));
};
var G__12750 = function (x,y,z,var_args){
var args = null;
if (arguments.length > 3) {
var G__12751__i = 0, G__12751__a = new Array(arguments.length - 3);
while (G__12751__i < G__12751__a.length) {G__12751__a[G__12751__i] = arguments[G__12751__i + 3]; ++G__12751__i;}
args = new cljs.core.IndexedSeq(G__12751__a,0,null);
}
return G__12750__delegate.call(this,x,y,z,args);};
G__12750.cljs$lang$maxFixedArity = 3;
G__12750.cljs$lang$applyTo = (function (arglist__12752){
var x = cljs.core.first(arglist__12752);
arglist__12752 = cljs.core.next(arglist__12752);
var y = cljs.core.first(arglist__12752);
arglist__12752 = cljs.core.next(arglist__12752);
var z = cljs.core.first(arglist__12752);
var args = cljs.core.rest(arglist__12752);
return G__12750__delegate(x,y,z,args);
});
G__12750.cljs$core$IFn$_invoke$arity$variadic = G__12750__delegate;
return G__12750;
})()
;
G__12749 = function(x,y,z,var_args){
var args = var_args;
switch(arguments.length){
case 0:
return G__12749__0.call(this);
case 1:
return G__12749__1.call(this,x);
case 2:
return G__12749__2.call(this,x,y);
case 3:
return G__12749__3.call(this,x,y,z);
default:
var G__12753 = null;
if (arguments.length > 3) {
var G__12754__i = 0, G__12754__a = new Array(arguments.length - 3);
while (G__12754__i < G__12754__a.length) {G__12754__a[G__12754__i] = arguments[G__12754__i + 3]; ++G__12754__i;}
G__12753 = new cljs.core.IndexedSeq(G__12754__a,0,null);
}
return G__12749__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__12753);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__12749.cljs$lang$maxFixedArity = 3;
G__12749.cljs$lang$applyTo = G__12749__4.cljs$lang$applyTo;
G__12749.cljs$core$IFn$_invoke$arity$0 = G__12749__0;
G__12749.cljs$core$IFn$_invoke$arity$1 = G__12749__1;
G__12749.cljs$core$IFn$_invoke$arity$2 = G__12749__2;
G__12749.cljs$core$IFn$_invoke$arity$3 = G__12749__3;
G__12749.cljs$core$IFn$_invoke$arity$variadic = G__12749__4.cljs$core$IFn$_invoke$arity$variadic;
return G__12749;
})()
});
cljs.core.partial.cljs$core$IFn$_invoke$arity$variadic = (function (f,arg1,arg2,arg3,more){
return (function() {
var G__12755__delegate = function (args){
return cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,arg1,arg2,arg3,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(more,args));
};
var G__12755 = function (var_args){
var args = null;
if (arguments.length > 0) {
var G__12756__i = 0, G__12756__a = new Array(arguments.length - 0);
while (G__12756__i < G__12756__a.length) {G__12756__a[G__12756__i] = arguments[G__12756__i + 0]; ++G__12756__i;}
args = new cljs.core.IndexedSeq(G__12756__a,0,null);
}
return G__12755__delegate.call(this,args);};
G__12755.cljs$lang$maxFixedArity = 0;
G__12755.cljs$lang$applyTo = (function (arglist__12757){
var args = cljs.core.seq(arglist__12757);
return G__12755__delegate(args);
});
G__12755.cljs$core$IFn$_invoke$arity$variadic = G__12755__delegate;
return G__12755;
})()
;
});
cljs.core.partial.cljs$lang$applyTo = (function (seq12727){
var G__12728 = cljs.core.first(seq12727);
var seq12727__$1 = cljs.core.next(seq12727);
var G__12729 = cljs.core.first(seq12727__$1);
var seq12727__$2 = cljs.core.next(seq12727__$1);
var G__12730 = cljs.core.first(seq12727__$2);
var seq12727__$3 = cljs.core.next(seq12727__$2);
var G__12731 = cljs.core.first(seq12727__$3);
var seq12727__$4 = cljs.core.next(seq12727__$3);
return cljs.core.partial.cljs$core$IFn$_invoke$arity$variadic(G__12728,G__12729,G__12730,G__12731,seq12727__$4);
});
cljs.core.partial.cljs$lang$maxFixedArity = (4);
/**
* Takes a function f, and returns a function that calls f, replacing
* a nil first argument to f with the supplied value x. Higher arity
* versions can replace arguments in the second and third
* positions (y, z). Note that the function f can take any number of
* arguments, not just the one(s) being nil-patched.
*/
cljs.core.fnil = (function cljs$core$fnil(var_args){
var G__12759 = arguments.length;
switch (G__12759) {
case 2:
return cljs.core.fnil.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.fnil.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
case 4:
return cljs.core.fnil.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.fnil.cljs$core$IFn$_invoke$arity$2 = (function (f,x){
return (function() {
var G__12777 = null;
var G__12777__1 = (function (a){
var G__12760 = (((a == null))?x:a);
return (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__12760) : f.call(null,G__12760));
});
var G__12777__2 = (function (a,b){
var G__12761 = (((a == null))?x:a);
var G__12762 = b;
return (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__12761,G__12762) : f.call(null,G__12761,G__12762));
});
var G__12777__3 = (function (a,b,c){
var G__12763 = (((a == null))?x:a);
var G__12764 = b;
var G__12765 = c;
return (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__12763,G__12764,G__12765) : f.call(null,G__12763,G__12764,G__12765));
});
var G__12777__4 = (function() {
var G__12778__delegate = function (a,b,c,ds){
return cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,(((a == null))?x:a),b,c,ds);
};
var G__12778 = function (a,b,c,var_args){
var ds = null;
if (arguments.length > 3) {
var G__12779__i = 0, G__12779__a = new Array(arguments.length - 3);
while (G__12779__i < G__12779__a.length) {G__12779__a[G__12779__i] = arguments[G__12779__i + 3]; ++G__12779__i;}
ds = new cljs.core.IndexedSeq(G__12779__a,0,null);
}
return G__12778__delegate.call(this,a,b,c,ds);};
G__12778.cljs$lang$maxFixedArity = 3;
G__12778.cljs$lang$applyTo = (function (arglist__12780){
var a = cljs.core.first(arglist__12780);
arglist__12780 = cljs.core.next(arglist__12780);
var b = cljs.core.first(arglist__12780);
arglist__12780 = cljs.core.next(arglist__12780);
var c = cljs.core.first(arglist__12780);
var ds = cljs.core.rest(arglist__12780);
return G__12778__delegate(a,b,c,ds);
});
G__12778.cljs$core$IFn$_invoke$arity$variadic = G__12778__delegate;
return G__12778;
})()
;
G__12777 = function(a,b,c,var_args){
var ds = var_args;
switch(arguments.length){
case 1:
return G__12777__1.call(this,a);
case 2:
return G__12777__2.call(this,a,b);
case 3:
return G__12777__3.call(this,a,b,c);
default:
var G__12781 = null;
if (arguments.length > 3) {
var G__12782__i = 0, G__12782__a = new Array(arguments.length - 3);
while (G__12782__i < G__12782__a.length) {G__12782__a[G__12782__i] = arguments[G__12782__i + 3]; ++G__12782__i;}
G__12781 = new cljs.core.IndexedSeq(G__12782__a,0,null);
}
return G__12777__4.cljs$core$IFn$_invoke$arity$variadic(a,b,c, G__12781);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__12777.cljs$lang$maxFixedArity = 3;
G__12777.cljs$lang$applyTo = G__12777__4.cljs$lang$applyTo;
G__12777.cljs$core$IFn$_invoke$arity$1 = G__12777__1;
G__12777.cljs$core$IFn$_invoke$arity$2 = G__12777__2;
G__12777.cljs$core$IFn$_invoke$arity$3 = G__12777__3;
G__12777.cljs$core$IFn$_invoke$arity$variadic = G__12777__4.cljs$core$IFn$_invoke$arity$variadic;
return G__12777;
})()
});
cljs.core.fnil.cljs$core$IFn$_invoke$arity$3 = (function (f,x,y){
return (function() {
var G__12783 = null;
var G__12783__2 = (function (a,b){
var G__12766 = (((a == null))?x:a);
var G__12767 = (((b == null))?y:b);
return (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__12766,G__12767) : f.call(null,G__12766,G__12767));
});
var G__12783__3 = (function (a,b,c){
var G__12768 = (((a == null))?x:a);
var G__12769 = (((b == null))?y:b);
var G__12770 = c;
return (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__12768,G__12769,G__12770) : f.call(null,G__12768,G__12769,G__12770));
});
var G__12783__4 = (function() {
var G__12784__delegate = function (a,b,c,ds){
return cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,(((a == null))?x:a),(((b == null))?y:b),c,ds);
};
var G__12784 = function (a,b,c,var_args){
var ds = null;
if (arguments.length > 3) {
var G__12785__i = 0, G__12785__a = new Array(arguments.length - 3);
while (G__12785__i < G__12785__a.length) {G__12785__a[G__12785__i] = arguments[G__12785__i + 3]; ++G__12785__i;}
ds = new cljs.core.IndexedSeq(G__12785__a,0,null);
}
return G__12784__delegate.call(this,a,b,c,ds);};
G__12784.cljs$lang$maxFixedArity = 3;
G__12784.cljs$lang$applyTo = (function (arglist__12786){
var a = cljs.core.first(arglist__12786);
arglist__12786 = cljs.core.next(arglist__12786);
var b = cljs.core.first(arglist__12786);
arglist__12786 = cljs.core.next(arglist__12786);
var c = cljs.core.first(arglist__12786);
var ds = cljs.core.rest(arglist__12786);
return G__12784__delegate(a,b,c,ds);
});
G__12784.cljs$core$IFn$_invoke$arity$variadic = G__12784__delegate;
return G__12784;
})()
;
G__12783 = function(a,b,c,var_args){
var ds = var_args;
switch(arguments.length){
case 2:
return G__12783__2.call(this,a,b);
case 3:
return G__12783__3.call(this,a,b,c);
default:
var G__12787 = null;
if (arguments.length > 3) {
var G__12788__i = 0, G__12788__a = new Array(arguments.length - 3);
while (G__12788__i < G__12788__a.length) {G__12788__a[G__12788__i] = arguments[G__12788__i + 3]; ++G__12788__i;}
G__12787 = new cljs.core.IndexedSeq(G__12788__a,0,null);
}
return G__12783__4.cljs$core$IFn$_invoke$arity$variadic(a,b,c, G__12787);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__12783.cljs$lang$maxFixedArity = 3;
G__12783.cljs$lang$applyTo = G__12783__4.cljs$lang$applyTo;
G__12783.cljs$core$IFn$_invoke$arity$2 = G__12783__2;
G__12783.cljs$core$IFn$_invoke$arity$3 = G__12783__3;
G__12783.cljs$core$IFn$_invoke$arity$variadic = G__12783__4.cljs$core$IFn$_invoke$arity$variadic;
return G__12783;
})()
});
cljs.core.fnil.cljs$core$IFn$_invoke$arity$4 = (function (f,x,y,z){
return (function() {
var G__12789 = null;
var G__12789__2 = (function (a,b){
var G__12771 = (((a == null))?x:a);
var G__12772 = (((b == null))?y:b);
return (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__12771,G__12772) : f.call(null,G__12771,G__12772));
});
var G__12789__3 = (function (a,b,c){
var G__12773 = (((a == null))?x:a);
var G__12774 = (((b == null))?y:b);
var G__12775 = (((c == null))?z:c);
return (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__12773,G__12774,G__12775) : f.call(null,G__12773,G__12774,G__12775));
});
var G__12789__4 = (function() {
var G__12790__delegate = function (a,b,c,ds){
return cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,(((a == null))?x:a),(((b == null))?y:b),(((c == null))?z:c),ds);
};
var G__12790 = function (a,b,c,var_args){
var ds = null;
if (arguments.length > 3) {
var G__12791__i = 0, G__12791__a = new Array(arguments.length - 3);
while (G__12791__i < G__12791__a.length) {G__12791__a[G__12791__i] = arguments[G__12791__i + 3]; ++G__12791__i;}
ds = new cljs.core.IndexedSeq(G__12791__a,0,null);
}
return G__12790__delegate.call(this,a,b,c,ds);};
G__12790.cljs$lang$maxFixedArity = 3;
G__12790.cljs$lang$applyTo = (function (arglist__12792){
var a = cljs.core.first(arglist__12792);
arglist__12792 = cljs.core.next(arglist__12792);
var b = cljs.core.first(arglist__12792);
arglist__12792 = cljs.core.next(arglist__12792);
var c = cljs.core.first(arglist__12792);
var ds = cljs.core.rest(arglist__12792);
return G__12790__delegate(a,b,c,ds);
});
G__12790.cljs$core$IFn$_invoke$arity$variadic = G__12790__delegate;
return G__12790;
})()
;
G__12789 = function(a,b,c,var_args){
var ds = var_args;
switch(arguments.length){
case 2:
return G__12789__2.call(this,a,b);
case 3:
return G__12789__3.call(this,a,b,c);
default:
var G__12793 = null;
if (arguments.length > 3) {
var G__12794__i = 0, G__12794__a = new Array(arguments.length - 3);
while (G__12794__i < G__12794__a.length) {G__12794__a[G__12794__i] = arguments[G__12794__i + 3]; ++G__12794__i;}
G__12793 = new cljs.core.IndexedSeq(G__12794__a,0,null);
}
return G__12789__4.cljs$core$IFn$_invoke$arity$variadic(a,b,c, G__12793);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__12789.cljs$lang$maxFixedArity = 3;
G__12789.cljs$lang$applyTo = G__12789__4.cljs$lang$applyTo;
G__12789.cljs$core$IFn$_invoke$arity$2 = G__12789__2;
G__12789.cljs$core$IFn$_invoke$arity$3 = G__12789__3;
G__12789.cljs$core$IFn$_invoke$arity$variadic = G__12789__4.cljs$core$IFn$_invoke$arity$variadic;
return G__12789;
})()
});
cljs.core.fnil.cljs$lang$maxFixedArity = 4;
/**
* Returns a lazy sequence consisting of the result of applying f to 0
* and the first item of coll, followed by applying f to 1 and the second
* item in coll, etc, until coll is exhausted. Thus function f should
* accept 2 arguments, index and item. Returns a stateful transducer when
* no collection is provided.
*/
cljs.core.map_indexed = (function cljs$core$map_indexed(var_args){
var G__12796 = arguments.length;
switch (G__12796) {
case 1:
return cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$1 = (function (f){
return (function (rf){
var i = cljs.core.volatile_BANG_((-1));
return ((function (i){
return (function() {
var G__12810 = null;
var G__12810__0 = (function (){
return (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));
});
var G__12810__1 = (function (result){
return (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));
});
var G__12810__2 = (function (result,input){
var G__12797 = result;
var G__12798 = (function (){var G__12799 = cljs.core._vreset_BANG_(i,(cljs.core._deref(i) + (1)));
var G__12800 = input;
return (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__12799,G__12800) : f.call(null,G__12799,G__12800));
})();
return (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(G__12797,G__12798) : rf.call(null,G__12797,G__12798));
});
G__12810 = function(result,input){
switch(arguments.length){
case 0:
return G__12810__0.call(this);
case 1:
return G__12810__1.call(this,result);
case 2:
return G__12810__2.call(this,result,input);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__12810.cljs$core$IFn$_invoke$arity$0 = G__12810__0;
G__12810.cljs$core$IFn$_invoke$arity$1 = G__12810__1;
G__12810.cljs$core$IFn$_invoke$arity$2 = G__12810__2;
return G__12810;
})()
;})(i))
});
});
cljs.core.map_indexed.cljs$core$IFn$_invoke$arity$2 = (function (f,coll){
var mapi = (function cljs$core$mapi(idx,coll__$1){
return (new cljs.core.LazySeq(null,(function (){
var temp__5457__auto__ = cljs.core.seq(coll__$1);
if(temp__5457__auto__){
var s = temp__5457__auto__;
if(cljs.core.chunked_seq_QMARK_(s)){
var c = cljs.core.chunk_first(s);
var size = cljs.core.count(c);
var b = cljs.core.chunk_buffer(size);
var n__9827__auto___12811 = size;
var i_12812 = (0);
while(true){
if((i_12812 < n__9827__auto___12811)){
cljs.core.chunk_append(b,(function (){var G__12805 = (idx + i_12812);
var G__12806 = cljs.core._nth.cljs$core$IFn$_invoke$arity$2(c,i_12812);
return (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__12805,G__12806) : f.call(null,G__12805,G__12806));
})());
var G__12813 = (i_12812 + (1));
i_12812 = G__12813;
continue;
} else {
}
break;
}
return cljs.core.chunk_cons(cljs.core.chunk(b),cljs$core$mapi((idx + size),cljs.core.chunk_rest(s)));
} else {
return cljs.core.cons((function (){var G__12807 = idx;
var G__12808 = cljs.core.first(s);
return (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__12807,G__12808) : f.call(null,G__12807,G__12808));
})(),cljs$core$mapi((idx + (1)),cljs.core.rest(s)));
}
} else {
return null;
}
}),null,null));
});
return mapi((0),coll);
});
cljs.core.map_indexed.cljs$lang$maxFixedArity = 2;
/**
* Returns a lazy sequence of the non-nil results of (f item). Note,
* this means false return values will be included. f must be free of
* side-effects. Returns a transducer when no collection is provided.
*/
cljs.core.keep = (function cljs$core$keep(var_args){
var G__12815 = arguments.length;
switch (G__12815) {
case 1:
return cljs.core.keep.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.keep.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.keep.cljs$core$IFn$_invoke$arity$1 = (function (f){
return (function (rf){
return (function() {
var G__12819 = null;
var G__12819__0 = (function (){
return (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));
});
var G__12819__1 = (function (result){
return (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));
});
var G__12819__2 = (function (result,input){
var v = (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(input) : f.call(null,input));
if((v == null)){
return result;
} else {
return (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,v) : rf.call(null,result,v));
}
});
G__12819 = function(result,input){
switch(arguments.length){
case 0:
return G__12819__0.call(this);
case 1:
return G__12819__1.call(this,result);
case 2:
return G__12819__2.call(this,result,input);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__12819.cljs$core$IFn$_invoke$arity$0 = G__12819__0;
G__12819.cljs$core$IFn$_invoke$arity$1 = G__12819__1;
G__12819.cljs$core$IFn$_invoke$arity$2 = G__12819__2;
return G__12819;
})()
});
});
cljs.core.keep.cljs$core$IFn$_invoke$arity$2 = (function (f,coll){
return (new cljs.core.LazySeq(null,(function (){
var temp__5457__auto__ = cljs.core.seq(coll);
if(temp__5457__auto__){
var s = temp__5457__auto__;
if(cljs.core.chunked_seq_QMARK_(s)){
var c = cljs.core.chunk_first(s);
var size = cljs.core.count(c);
var b = cljs.core.chunk_buffer(size);
var n__9827__auto___12820 = size;
var i_12821 = (0);
while(true){
if((i_12821 < n__9827__auto___12820)){
var x_12822 = (function (){var G__12816 = cljs.core._nth.cljs$core$IFn$_invoke$arity$2(c,i_12821);
return (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__12816) : f.call(null,G__12816));
})();
if((x_12822 == null)){
} else {
cljs.core.chunk_append(b,x_12822);
}
var G__12823 = (i_12821 + (1));
i_12821 = G__12823;
continue;
} else {
}
break;
}
return cljs.core.chunk_cons(cljs.core.chunk(b),cljs.core.keep.cljs$core$IFn$_invoke$arity$2(f,cljs.core.chunk_rest(s)));
} else {
var x = (function (){var G__12817 = cljs.core.first(s);
return (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__12817) : f.call(null,G__12817));
})();
if((x == null)){
return cljs.core.keep.cljs$core$IFn$_invoke$arity$2(f,cljs.core.rest(s));
} else {
return cljs.core.cons(x,cljs.core.keep.cljs$core$IFn$_invoke$arity$2(f,cljs.core.rest(s)));
}
}
} else {
return null;
}
}),null,null));
});
cljs.core.keep.cljs$lang$maxFixedArity = 2;
/**
* @constructor
* @implements {cljs.core.IWatchable}
* @implements {cljs.core.IAtom}
* @implements {cljs.core.IEquiv}
* @implements {cljs.core.IHash}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.IDeref}
*/
cljs.core.Atom = (function (state,meta,validator,watches){
this.state = state;
this.meta = meta;
this.validator = validator;
this.watches = watches;
this.cljs$lang$protocol_mask$partition1$ = 16386;
this.cljs$lang$protocol_mask$partition0$ = 6455296;
});
cljs.core.Atom.prototype.equiv = (function (other){
var self__ = this;
var this$ = this;
return this$.cljs$core$IEquiv$_equiv$arity$2(null,other);
});
cljs.core.Atom.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (o,other){
var self__ = this;
var o__$1 = this;
return (o__$1 === other);
});
cljs.core.Atom.prototype.cljs$core$IDeref$_deref$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return self__.state;
});
cljs.core.Atom.prototype.cljs$core$IMeta$_meta$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return self__.meta;
});
cljs.core.Atom.prototype.cljs$core$IWatchable$_notify_watches$arity$3 = (function (this$,oldval,newval){
var self__ = this;
var this$__$1 = this;
var seq__12824 = cljs.core.seq(self__.watches);
var chunk__12825 = null;
var count__12826 = (0);
var i__12827 = (0);
while(true){
if((i__12827 < count__12826)){
var vec__12828 = chunk__12825.cljs$core$IIndexed$_nth$arity$2(null,i__12827);
var key = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12828,(0),null);
var f = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12828,(1),null);
(f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(key,this$__$1,oldval,newval) : f.call(null,key,this$__$1,oldval,newval));
var G__12834 = seq__12824;
var G__12835 = chunk__12825;
var G__12836 = count__12826;
var G__12837 = (i__12827 + (1));
seq__12824 = G__12834;
chunk__12825 = G__12835;
count__12826 = G__12836;
i__12827 = G__12837;
continue;
} else {
var temp__5457__auto__ = cljs.core.seq(seq__12824);
if(temp__5457__auto__){
var seq__12824__$1 = temp__5457__auto__;
if(cljs.core.chunked_seq_QMARK_(seq__12824__$1)){
var c__9713__auto__ = cljs.core.chunk_first(seq__12824__$1);
var G__12838 = cljs.core.chunk_rest(seq__12824__$1);
var G__12839 = c__9713__auto__;
var G__12840 = cljs.core.count(c__9713__auto__);
var G__12841 = (0);
seq__12824 = G__12838;
chunk__12825 = G__12839;
count__12826 = G__12840;
i__12827 = G__12841;
continue;
} else {
var vec__12831 = cljs.core.first(seq__12824__$1);
var key = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12831,(0),null);
var f = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__12831,(1),null);
(f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(key,this$__$1,oldval,newval) : f.call(null,key,this$__$1,oldval,newval));
var G__12842 = cljs.core.next(seq__12824__$1);
var G__12843 = null;
var G__12844 = (0);
var G__12845 = (0);
seq__12824 = G__12842;
chunk__12825 = G__12843;
count__12826 = G__12844;
i__12827 = G__12845;
continue;
}
} else {
return null;
}
}
break;
}
});
cljs.core.Atom.prototype.cljs$core$IWatchable$_add_watch$arity$3 = (function (this$,key,f){
var self__ = this;
var this$__$1 = this;
this$__$1.watches = cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.watches,key,f);
return this$__$1;
});
cljs.core.Atom.prototype.cljs$core$IWatchable$_remove_watch$arity$2 = (function (this$,key){
var self__ = this;
var this$__$1 = this;
return this$__$1.watches = cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.watches,key);
});
cljs.core.Atom.prototype.cljs$core$IHash$_hash$arity$1 = (function (this$){
var self__ = this;
var this$__$1 = this;
return goog.getUid(this$__$1);
});
cljs.core.Atom.getBasis = (function (){
return new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$state,cljs.core.cst$sym$meta,cljs.core.cst$sym$validator,cljs.core.cst$sym$watches], null);
});
cljs.core.Atom.cljs$lang$type = true;
cljs.core.Atom.cljs$lang$ctorStr = "cljs.core/Atom";
cljs.core.Atom.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/Atom");
});
cljs.core.__GT_Atom = (function cljs$core$__GT_Atom(state,meta,validator,watches){
return (new cljs.core.Atom(state,meta,validator,watches));
});
/**
* Creates and returns an Atom with an initial value of x and zero or
* more options (in any order):
*
* :meta metadata-map
*
* :validator validate-fn
*
* If metadata-map is supplied, it will be come the metadata on the
* atom. validate-fn must be nil or a side-effect-free fn of one
* argument, which will be passed the intended new state on any state
* change. If the new state is unacceptable, the validate-fn should
* return false or throw an Error. If either of these error conditions
* occur, then the value of the atom will not change.
*/
cljs.core.atom = (function cljs$core$atom(var_args){
var G__12849 = arguments.length;
switch (G__12849) {
case 1:
return cljs.core.atom.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___12854 = arguments.length;
var i__10062__auto___12855 = (0);
while(true){
if((i__10062__auto___12855 < len__10061__auto___12854)){
args_arr__10084__auto__.push((arguments[i__10062__auto___12855]));
var G__12856 = (i__10062__auto___12855 + (1));
i__10062__auto___12855 = G__12856;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((1)),(0),null));
return cljs.core.atom.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__10085__auto__);
}
});
cljs.core.atom.cljs$core$IFn$_invoke$arity$1 = (function (x){
return (new cljs.core.Atom(x,null,null,null));
});
cljs.core.atom.cljs$core$IFn$_invoke$arity$variadic = (function (x,p__12850){
var map__12851 = p__12850;
var map__12851__$1 = ((((!((map__12851 == null)))?((((map__12851.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__12851.cljs$core$ISeq$)))?true:false):false))?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,map__12851):map__12851);
var meta = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__12851__$1,cljs.core.cst$kw$meta);
var validator = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__12851__$1,cljs.core.cst$kw$validator);
return (new cljs.core.Atom(x,meta,validator,null));
});
cljs.core.atom.cljs$lang$applyTo = (function (seq12847){
var G__12848 = cljs.core.first(seq12847);
var seq12847__$1 = cljs.core.next(seq12847);
return cljs.core.atom.cljs$core$IFn$_invoke$arity$variadic(G__12848,seq12847__$1);
});
cljs.core.atom.cljs$lang$maxFixedArity = (1);
/**
* Sets the value of atom to newval without regard for the
* current value. Returns new-value.
*/
cljs.core.reset_BANG_ = (function cljs$core$reset_BANG_(a,new_value){
if((a instanceof cljs.core.Atom)){
var validate = a.validator;
if((validate == null)){
} else {
if(cljs.core.truth_((validate.cljs$core$IFn$_invoke$arity$1 ? validate.cljs$core$IFn$_invoke$arity$1(new_value) : validate.call(null,new_value)))){
} else {
throw (new Error("Validator rejected reference state"));
}
}
var old_value = a.state;
a.state = new_value;
if((a.watches == null)){
} else {
cljs.core._notify_watches(a,old_value,new_value);
}
return new_value;
} else {
return cljs.core._reset_BANG_(a,new_value);
}
});
/**
* Sets the value of atom to newval. Returns [old new], the value of the
* atom before and after the reset.
*/
cljs.core.reset_vals_BANG_ = (function cljs$core$reset_vals_BANG_(a,new_value){
var validate = a.validator;
if((validate == null)){
} else {
if(cljs.core.truth_((validate.cljs$core$IFn$_invoke$arity$1 ? validate.cljs$core$IFn$_invoke$arity$1(new_value) : validate.call(null,new_value)))){
} else {
throw (new Error("Validator rejected reference state"));
}
}
var old_value = a.state;
a.state = new_value;
if((a.watches == null)){
} else {
cljs.core._notify_watches(a,old_value,new_value);
}
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [old_value,new_value], null);
});
/**
* Atomically swaps the value of atom to be:
* (apply f current-value-of-atom args). Note that f may be called
* multiple times, and thus should be free of side effects. Returns
* the value that was swapped in.
*/
cljs.core.swap_BANG_ = (function cljs$core$swap_BANG_(var_args){
var G__12863 = arguments.length;
switch (G__12863) {
case 2:
return cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
case 4:
return cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___12871 = arguments.length;
var i__10062__auto___12872 = (0);
while(true){
if((i__10062__auto___12872 < len__10061__auto___12871)){
args_arr__10084__auto__.push((arguments[i__10062__auto___12872]));
var G__12873 = (i__10062__auto___12872 + (1));
i__10062__auto___12872 = G__12873;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((4)),(0),null));
return cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__10085__auto__);
}
});
cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2 = (function (a,f){
if((a instanceof cljs.core.Atom)){
return cljs.core.reset_BANG_(a,(function (){var G__12864 = a.state;
return (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__12864) : f.call(null,G__12864));
})());
} else {
return cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$2(a,f);
}
});
cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3 = (function (a,f,x){
if((a instanceof cljs.core.Atom)){
return cljs.core.reset_BANG_(a,(function (){var G__12865 = a.state;
var G__12866 = x;
return (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__12865,G__12866) : f.call(null,G__12865,G__12866));
})());
} else {
return cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$3(a,f,x);
}
});
cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4 = (function (a,f,x,y){
if((a instanceof cljs.core.Atom)){
return cljs.core.reset_BANG_(a,(function (){var G__12867 = a.state;
var G__12868 = x;
var G__12869 = y;
return (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__12867,G__12868,G__12869) : f.call(null,G__12867,G__12868,G__12869));
})());
} else {
return cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$4(a,f,x,y);
}
});
cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic = (function (a,f,x,y,more){
if((a instanceof cljs.core.Atom)){
return cljs.core.reset_BANG_(a,cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,a.state,x,y,more));
} else {
return cljs.core._swap_BANG_.cljs$core$IFn$_invoke$arity$5(a,f,x,y,more);
}
});
cljs.core.swap_BANG_.cljs$lang$applyTo = (function (seq12858){
var G__12859 = cljs.core.first(seq12858);
var seq12858__$1 = cljs.core.next(seq12858);
var G__12860 = cljs.core.first(seq12858__$1);
var seq12858__$2 = cljs.core.next(seq12858__$1);
var G__12861 = cljs.core.first(seq12858__$2);
var seq12858__$3 = cljs.core.next(seq12858__$2);
var G__12862 = cljs.core.first(seq12858__$3);
var seq12858__$4 = cljs.core.next(seq12858__$3);
return cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$variadic(G__12859,G__12860,G__12861,G__12862,seq12858__$4);
});
cljs.core.swap_BANG_.cljs$lang$maxFixedArity = (4);
/**
* Atomically swaps the value of atom to be:
* (apply f current-value-of-atom args). Note that f may be called
* multiple times, and thus should be free of side effects.
* Returns [old new], the value of the atom before and after the swap.
*/
cljs.core.swap_vals_BANG_ = (function cljs$core$swap_vals_BANG_(var_args){
var G__12880 = arguments.length;
switch (G__12880) {
case 2:
return cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
case 4:
return cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___12888 = arguments.length;
var i__10062__auto___12889 = (0);
while(true){
if((i__10062__auto___12889 < len__10061__auto___12888)){
args_arr__10084__auto__.push((arguments[i__10062__auto___12889]));
var G__12890 = (i__10062__auto___12889 + (1));
i__10062__auto___12889 = G__12890;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((4)),(0),null));
return cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__10085__auto__);
}
});
cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$2 = (function (a,f){
return cljs.core.reset_vals_BANG_(a,(function (){var G__12881 = a.state;
return (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__12881) : f.call(null,G__12881));
})());
});
cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$3 = (function (a,f,x){
return cljs.core.reset_vals_BANG_(a,(function (){var G__12882 = a.state;
var G__12883 = x;
return (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__12882,G__12883) : f.call(null,G__12882,G__12883));
})());
});
cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$4 = (function (a,f,x,y){
return cljs.core.reset_vals_BANG_(a,(function (){var G__12884 = a.state;
var G__12885 = x;
var G__12886 = y;
return (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__12884,G__12885,G__12886) : f.call(null,G__12884,G__12885,G__12886));
})());
});
cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$variadic = (function (a,f,x,y,more){
return cljs.core.reset_vals_BANG_(a,cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,a.state,x,y,more));
});
cljs.core.swap_vals_BANG_.cljs$lang$applyTo = (function (seq12875){
var G__12876 = cljs.core.first(seq12875);
var seq12875__$1 = cljs.core.next(seq12875);
var G__12877 = cljs.core.first(seq12875__$1);
var seq12875__$2 = cljs.core.next(seq12875__$1);
var G__12878 = cljs.core.first(seq12875__$2);
var seq12875__$3 = cljs.core.next(seq12875__$2);
var G__12879 = cljs.core.first(seq12875__$3);
var seq12875__$4 = cljs.core.next(seq12875__$3);
return cljs.core.swap_vals_BANG_.cljs$core$IFn$_invoke$arity$variadic(G__12876,G__12877,G__12878,G__12879,seq12875__$4);
});
cljs.core.swap_vals_BANG_.cljs$lang$maxFixedArity = (4);
/**
* Atomically sets the value of atom to newval if and only if the
* current value of the atom is equal to oldval. Returns true if
* set happened, else false.
*/
cljs.core.compare_and_set_BANG_ = (function cljs$core$compare_and_set_BANG_(a,oldval,newval){
if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(a.cljs$core$IDeref$_deref$arity$1(null),oldval)){
cljs.core.reset_BANG_(a,newval);
return true;
} else {
return false;
}
});
/**
* Sets the validator-fn for an atom. validator-fn must be nil or a
* side-effect-free fn of one argument, which will be passed the intended
* new state on any state change. If the new state is unacceptable, the
* validator-fn should return false or throw an Error. If the current state
* is not acceptable to the new validator, an Error will be thrown and the
* validator will not be changed.
*/
cljs.core.set_validator_BANG_ = (function cljs$core$set_validator_BANG_(iref,val){
if((!((val == null))) && (cljs.core.not((function (){var G__12892 = cljs.core._deref(iref);
return (val.cljs$core$IFn$_invoke$arity$1 ? val.cljs$core$IFn$_invoke$arity$1(G__12892) : val.call(null,G__12892));
})()))){
throw (new Error("Validator rejected reference state"));
} else {
}
return iref.validator = val;
});
/**
* Gets the validator-fn for a var/ref/agent/atom.
*/
cljs.core.get_validator = (function cljs$core$get_validator(iref){
return iref.validator;
});
/**
* @constructor
* @implements {cljs.core.IVolatile}
* @implements {cljs.core.IDeref}
*/
cljs.core.Volatile = (function (state){
this.state = state;
this.cljs$lang$protocol_mask$partition0$ = 32768;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
cljs.core.Volatile.prototype.cljs$core$IVolatile$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.Volatile.prototype.cljs$core$IVolatile$_vreset_BANG_$arity$2 = (function (_,new_state){
var self__ = this;
var ___$1 = this;
return self__.state = new_state;
});
cljs.core.Volatile.prototype.cljs$core$IDeref$_deref$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return self__.state;
});
cljs.core.Volatile.getBasis = (function (){
return new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(cljs.core.cst$sym$state,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null))], null);
});
cljs.core.Volatile.cljs$lang$type = true;
cljs.core.Volatile.cljs$lang$ctorStr = "cljs.core/Volatile";
cljs.core.Volatile.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/Volatile");
});
cljs.core.__GT_Volatile = (function cljs$core$__GT_Volatile(state){
return (new cljs.core.Volatile(state));
});
/**
* Creates and returns a Volatile with an initial value of val.
*/
cljs.core.volatile_BANG_ = (function cljs$core$volatile_BANG_(val){
return (new cljs.core.Volatile(val));
});
/**
* Returns true if x is a volatile.
*/
cljs.core.volatile_QMARK_ = (function cljs$core$volatile_QMARK_(x){
return (x instanceof cljs.core.Volatile);
});
/**
* Sets the value of volatile to newval without regard for the
* current value. Returns newval.
*/
cljs.core.vreset_BANG_ = (function cljs$core$vreset_BANG_(vol,newval){
return cljs.core._vreset_BANG_(vol,newval);
});
/**
* Returns a lazy sequence of the non-nil results of (f index item). Note,
* this means false return values will be included. f must be free of
* side-effects. Returns a stateful transducer when no collection is
* provided.
*/
cljs.core.keep_indexed = (function cljs$core$keep_indexed(var_args){
var G__12894 = arguments.length;
switch (G__12894) {
case 1:
return cljs.core.keep_indexed.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.keep_indexed.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.keep_indexed.cljs$core$IFn$_invoke$arity$1 = (function (f){
return (function (rf){
var ia = cljs.core.volatile_BANG_((-1));
return ((function (ia){
return (function() {
var G__12904 = null;
var G__12904__0 = (function (){
return (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));
});
var G__12904__1 = (function (result){
return (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));
});
var G__12904__2 = (function (result,input){
var i = cljs.core._vreset_BANG_(ia,(cljs.core._deref(ia) + (1)));
var v = (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(i,input) : f.call(null,i,input));
if((v == null)){
return result;
} else {
return (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,v) : rf.call(null,result,v));
}
});
G__12904 = function(result,input){
switch(arguments.length){
case 0:
return G__12904__0.call(this);
case 1:
return G__12904__1.call(this,result);
case 2:
return G__12904__2.call(this,result,input);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__12904.cljs$core$IFn$_invoke$arity$0 = G__12904__0;
G__12904.cljs$core$IFn$_invoke$arity$1 = G__12904__1;
G__12904.cljs$core$IFn$_invoke$arity$2 = G__12904__2;
return G__12904;
})()
;})(ia))
});
});
cljs.core.keep_indexed.cljs$core$IFn$_invoke$arity$2 = (function (f,coll){
var keepi = (function cljs$core$keepi(idx,coll__$1){
return (new cljs.core.LazySeq(null,(function (){
var temp__5457__auto__ = cljs.core.seq(coll__$1);
if(temp__5457__auto__){
var s = temp__5457__auto__;
if(cljs.core.chunked_seq_QMARK_(s)){
var c = cljs.core.chunk_first(s);
var size = cljs.core.count(c);
var b = cljs.core.chunk_buffer(size);
var n__9827__auto___12905 = size;
var i_12906 = (0);
while(true){
if((i_12906 < n__9827__auto___12905)){
var x_12907 = (function (){var G__12899 = (idx + i_12906);
var G__12900 = cljs.core._nth.cljs$core$IFn$_invoke$arity$2(c,i_12906);
return (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__12899,G__12900) : f.call(null,G__12899,G__12900));
})();
if((x_12907 == null)){
} else {
cljs.core.chunk_append(b,x_12907);
}
var G__12908 = (i_12906 + (1));
i_12906 = G__12908;
continue;
} else {
}
break;
}
return cljs.core.chunk_cons(cljs.core.chunk(b),cljs$core$keepi((idx + size),cljs.core.chunk_rest(s)));
} else {
var x = (function (){var G__12901 = idx;
var G__12902 = cljs.core.first(s);
return (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__12901,G__12902) : f.call(null,G__12901,G__12902));
})();
if((x == null)){
return cljs$core$keepi((idx + (1)),cljs.core.rest(s));
} else {
return cljs.core.cons(x,cljs$core$keepi((idx + (1)),cljs.core.rest(s)));
}
}
} else {
return null;
}
}),null,null));
});
return keepi((0),coll);
});
cljs.core.keep_indexed.cljs$lang$maxFixedArity = 2;
/**
* Takes a set of predicates and returns a function f that returns true if all of its
* composing predicates return a logical true value against all of its arguments, else it returns
* false. Note that f is short-circuiting in that it will stop execution on the first
* argument that triggers a logical false result against the original predicates.
*/
cljs.core.every_pred = (function cljs$core$every_pred(var_args){
var G__12920 = arguments.length;
switch (G__12920) {
case 1:
return cljs.core.every_pred.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.every_pred.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.every_pred.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___12922 = arguments.length;
var i__10062__auto___12923 = (0);
while(true){
if((i__10062__auto___12923 < len__10061__auto___12922)){
args_arr__10084__auto__.push((arguments[i__10062__auto___12923]));
var G__12924 = (i__10062__auto___12923 + (1));
i__10062__auto___12923 = G__12924;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((3)),(0),null));
return cljs.core.every_pred.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__10085__auto__);
}
});
cljs.core.every_pred.cljs$core$IFn$_invoke$arity$1 = (function (p){
return (function() {
var cljs$core$ep1 = null;
var cljs$core$ep1__0 = (function (){
return true;
});
var cljs$core$ep1__1 = (function (x){
return cljs.core.boolean$((p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(x) : p.call(null,x)));
});
var cljs$core$ep1__2 = (function (x,y){
return cljs.core.boolean$((function (){var and__8770__auto__ = (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(x) : p.call(null,x));
if(cljs.core.truth_(and__8770__auto__)){
return (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(y) : p.call(null,y));
} else {
return and__8770__auto__;
}
})());
});
var cljs$core$ep1__3 = (function (x,y,z){
return cljs.core.boolean$((function (){var and__8770__auto__ = (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(x) : p.call(null,x));
if(cljs.core.truth_(and__8770__auto__)){
var and__8770__auto____$1 = (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(y) : p.call(null,y));
if(cljs.core.truth_(and__8770__auto____$1)){
return (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(z) : p.call(null,z));
} else {
return and__8770__auto____$1;
}
} else {
return and__8770__auto__;
}
})());
});
var cljs$core$ep1__4 = (function() {
var G__12925__delegate = function (x,y,z,args){
return cljs.core.boolean$((function (){var and__8770__auto__ = cljs$core$ep1.cljs$core$IFn$_invoke$arity$3(x,y,z);
if(cljs.core.truth_(and__8770__auto__)){
return cljs.core.every_QMARK_(p,args);
} else {
return and__8770__auto__;
}
})());
};
var G__12925 = function (x,y,z,var_args){
var args = null;
if (arguments.length > 3) {
var G__12926__i = 0, G__12926__a = new Array(arguments.length - 3);
while (G__12926__i < G__12926__a.length) {G__12926__a[G__12926__i] = arguments[G__12926__i + 3]; ++G__12926__i;}
args = new cljs.core.IndexedSeq(G__12926__a,0,null);
}
return G__12925__delegate.call(this,x,y,z,args);};
G__12925.cljs$lang$maxFixedArity = 3;
G__12925.cljs$lang$applyTo = (function (arglist__12927){
var x = cljs.core.first(arglist__12927);
arglist__12927 = cljs.core.next(arglist__12927);
var y = cljs.core.first(arglist__12927);
arglist__12927 = cljs.core.next(arglist__12927);
var z = cljs.core.first(arglist__12927);
var args = cljs.core.rest(arglist__12927);
return G__12925__delegate(x,y,z,args);
});
G__12925.cljs$core$IFn$_invoke$arity$variadic = G__12925__delegate;
return G__12925;
})()
;
cljs$core$ep1 = function(x,y,z,var_args){
var args = var_args;
switch(arguments.length){
case 0:
return cljs$core$ep1__0.call(this);
case 1:
return cljs$core$ep1__1.call(this,x);
case 2:
return cljs$core$ep1__2.call(this,x,y);
case 3:
return cljs$core$ep1__3.call(this,x,y,z);
default:
var G__12928 = null;
if (arguments.length > 3) {
var G__12929__i = 0, G__12929__a = new Array(arguments.length - 3);
while (G__12929__i < G__12929__a.length) {G__12929__a[G__12929__i] = arguments[G__12929__i + 3]; ++G__12929__i;}
G__12928 = new cljs.core.IndexedSeq(G__12929__a,0,null);
}
return cljs$core$ep1__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__12928);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
cljs$core$ep1.cljs$lang$maxFixedArity = 3;
cljs$core$ep1.cljs$lang$applyTo = cljs$core$ep1__4.cljs$lang$applyTo;
cljs$core$ep1.cljs$core$IFn$_invoke$arity$0 = cljs$core$ep1__0;
cljs$core$ep1.cljs$core$IFn$_invoke$arity$1 = cljs$core$ep1__1;
cljs$core$ep1.cljs$core$IFn$_invoke$arity$2 = cljs$core$ep1__2;
cljs$core$ep1.cljs$core$IFn$_invoke$arity$3 = cljs$core$ep1__3;
cljs$core$ep1.cljs$core$IFn$_invoke$arity$variadic = cljs$core$ep1__4.cljs$core$IFn$_invoke$arity$variadic;
return cljs$core$ep1;
})()
});
cljs.core.every_pred.cljs$core$IFn$_invoke$arity$2 = (function (p1,p2){
return (function() {
var cljs$core$ep2 = null;
var cljs$core$ep2__0 = (function (){
return true;
});
var cljs$core$ep2__1 = (function (x){
return cljs.core.boolean$((function (){var and__8770__auto__ = (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));
if(cljs.core.truth_(and__8770__auto__)){
return (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));
} else {
return and__8770__auto__;
}
})());
});
var cljs$core$ep2__2 = (function (x,y){
return cljs.core.boolean$((function (){var and__8770__auto__ = (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));
if(cljs.core.truth_(and__8770__auto__)){
var and__8770__auto____$1 = (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(y) : p1.call(null,y));
if(cljs.core.truth_(and__8770__auto____$1)){
var and__8770__auto____$2 = (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));
if(cljs.core.truth_(and__8770__auto____$2)){
return (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(y) : p2.call(null,y));
} else {
return and__8770__auto____$2;
}
} else {
return and__8770__auto____$1;
}
} else {
return and__8770__auto__;
}
})());
});
var cljs$core$ep2__3 = (function (x,y,z){
return cljs.core.boolean$((function (){var and__8770__auto__ = (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));
if(cljs.core.truth_(and__8770__auto__)){
var and__8770__auto____$1 = (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(y) : p1.call(null,y));
if(cljs.core.truth_(and__8770__auto____$1)){
var and__8770__auto____$2 = (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(z) : p1.call(null,z));
if(cljs.core.truth_(and__8770__auto____$2)){
var and__8770__auto____$3 = (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));
if(cljs.core.truth_(and__8770__auto____$3)){
var and__8770__auto____$4 = (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(y) : p2.call(null,y));
if(cljs.core.truth_(and__8770__auto____$4)){
return (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(z) : p2.call(null,z));
} else {
return and__8770__auto____$4;
}
} else {
return and__8770__auto____$3;
}
} else {
return and__8770__auto____$2;
}
} else {
return and__8770__auto____$1;
}
} else {
return and__8770__auto__;
}
})());
});
var cljs$core$ep2__4 = (function() {
var G__12930__delegate = function (x,y,z,args){
return cljs.core.boolean$((function (){var and__8770__auto__ = cljs$core$ep2.cljs$core$IFn$_invoke$arity$3(x,y,z);
if(cljs.core.truth_(and__8770__auto__)){
return cljs.core.every_QMARK_(((function (and__8770__auto__){
return (function (p1__12909_SHARP_){
var and__8770__auto____$1 = (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(p1__12909_SHARP_) : p1.call(null,p1__12909_SHARP_));
if(cljs.core.truth_(and__8770__auto____$1)){
return (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(p1__12909_SHARP_) : p2.call(null,p1__12909_SHARP_));
} else {
return and__8770__auto____$1;
}
});})(and__8770__auto__))
,args);
} else {
return and__8770__auto__;
}
})());
};
var G__12930 = function (x,y,z,var_args){
var args = null;
if (arguments.length > 3) {
var G__12931__i = 0, G__12931__a = new Array(arguments.length - 3);
while (G__12931__i < G__12931__a.length) {G__12931__a[G__12931__i] = arguments[G__12931__i + 3]; ++G__12931__i;}
args = new cljs.core.IndexedSeq(G__12931__a,0,null);
}
return G__12930__delegate.call(this,x,y,z,args);};
G__12930.cljs$lang$maxFixedArity = 3;
G__12930.cljs$lang$applyTo = (function (arglist__12932){
var x = cljs.core.first(arglist__12932);
arglist__12932 = cljs.core.next(arglist__12932);
var y = cljs.core.first(arglist__12932);
arglist__12932 = cljs.core.next(arglist__12932);
var z = cljs.core.first(arglist__12932);
var args = cljs.core.rest(arglist__12932);
return G__12930__delegate(x,y,z,args);
});
G__12930.cljs$core$IFn$_invoke$arity$variadic = G__12930__delegate;
return G__12930;
})()
;
cljs$core$ep2 = function(x,y,z,var_args){
var args = var_args;
switch(arguments.length){
case 0:
return cljs$core$ep2__0.call(this);
case 1:
return cljs$core$ep2__1.call(this,x);
case 2:
return cljs$core$ep2__2.call(this,x,y);
case 3:
return cljs$core$ep2__3.call(this,x,y,z);
default:
var G__12933 = null;
if (arguments.length > 3) {
var G__12934__i = 0, G__12934__a = new Array(arguments.length - 3);
while (G__12934__i < G__12934__a.length) {G__12934__a[G__12934__i] = arguments[G__12934__i + 3]; ++G__12934__i;}
G__12933 = new cljs.core.IndexedSeq(G__12934__a,0,null);
}
return cljs$core$ep2__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__12933);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
cljs$core$ep2.cljs$lang$maxFixedArity = 3;
cljs$core$ep2.cljs$lang$applyTo = cljs$core$ep2__4.cljs$lang$applyTo;
cljs$core$ep2.cljs$core$IFn$_invoke$arity$0 = cljs$core$ep2__0;
cljs$core$ep2.cljs$core$IFn$_invoke$arity$1 = cljs$core$ep2__1;
cljs$core$ep2.cljs$core$IFn$_invoke$arity$2 = cljs$core$ep2__2;
cljs$core$ep2.cljs$core$IFn$_invoke$arity$3 = cljs$core$ep2__3;
cljs$core$ep2.cljs$core$IFn$_invoke$arity$variadic = cljs$core$ep2__4.cljs$core$IFn$_invoke$arity$variadic;
return cljs$core$ep2;
})()
});
cljs.core.every_pred.cljs$core$IFn$_invoke$arity$3 = (function (p1,p2,p3){
return (function() {
var cljs$core$ep3 = null;
var cljs$core$ep3__0 = (function (){
return true;
});
var cljs$core$ep3__1 = (function (x){
return cljs.core.boolean$((function (){var and__8770__auto__ = (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));
if(cljs.core.truth_(and__8770__auto__)){
var and__8770__auto____$1 = (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));
if(cljs.core.truth_(and__8770__auto____$1)){
return (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(x) : p3.call(null,x));
} else {
return and__8770__auto____$1;
}
} else {
return and__8770__auto__;
}
})());
});
var cljs$core$ep3__2 = (function (x,y){
return cljs.core.boolean$((function (){var and__8770__auto__ = (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));
if(cljs.core.truth_(and__8770__auto__)){
var and__8770__auto____$1 = (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));
if(cljs.core.truth_(and__8770__auto____$1)){
var and__8770__auto____$2 = (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(x) : p3.call(null,x));
if(cljs.core.truth_(and__8770__auto____$2)){
var and__8770__auto____$3 = (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(y) : p1.call(null,y));
if(cljs.core.truth_(and__8770__auto____$3)){
var and__8770__auto____$4 = (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(y) : p2.call(null,y));
if(cljs.core.truth_(and__8770__auto____$4)){
return (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(y) : p3.call(null,y));
} else {
return and__8770__auto____$4;
}
} else {
return and__8770__auto____$3;
}
} else {
return and__8770__auto____$2;
}
} else {
return and__8770__auto____$1;
}
} else {
return and__8770__auto__;
}
})());
});
var cljs$core$ep3__3 = (function (x,y,z){
return cljs.core.boolean$((function (){var and__8770__auto__ = (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));
if(cljs.core.truth_(and__8770__auto__)){
var and__8770__auto____$1 = (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));
if(cljs.core.truth_(and__8770__auto____$1)){
var and__8770__auto____$2 = (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(x) : p3.call(null,x));
if(cljs.core.truth_(and__8770__auto____$2)){
var and__8770__auto____$3 = (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(y) : p1.call(null,y));
if(cljs.core.truth_(and__8770__auto____$3)){
var and__8770__auto____$4 = (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(y) : p2.call(null,y));
if(cljs.core.truth_(and__8770__auto____$4)){
var and__8770__auto____$5 = (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(y) : p3.call(null,y));
if(cljs.core.truth_(and__8770__auto____$5)){
var and__8770__auto____$6 = (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(z) : p1.call(null,z));
if(cljs.core.truth_(and__8770__auto____$6)){
var and__8770__auto____$7 = (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(z) : p2.call(null,z));
if(cljs.core.truth_(and__8770__auto____$7)){
return (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(z) : p3.call(null,z));
} else {
return and__8770__auto____$7;
}
} else {
return and__8770__auto____$6;
}
} else {
return and__8770__auto____$5;
}
} else {
return and__8770__auto____$4;
}
} else {
return and__8770__auto____$3;
}
} else {
return and__8770__auto____$2;
}
} else {
return and__8770__auto____$1;
}
} else {
return and__8770__auto__;
}
})());
});
var cljs$core$ep3__4 = (function() {
var G__12935__delegate = function (x,y,z,args){
return cljs.core.boolean$((function (){var and__8770__auto__ = cljs$core$ep3.cljs$core$IFn$_invoke$arity$3(x,y,z);
if(cljs.core.truth_(and__8770__auto__)){
return cljs.core.every_QMARK_(((function (and__8770__auto__){
return (function (p1__12910_SHARP_){
var and__8770__auto____$1 = (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(p1__12910_SHARP_) : p1.call(null,p1__12910_SHARP_));
if(cljs.core.truth_(and__8770__auto____$1)){
var and__8770__auto____$2 = (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(p1__12910_SHARP_) : p2.call(null,p1__12910_SHARP_));
if(cljs.core.truth_(and__8770__auto____$2)){
return (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(p1__12910_SHARP_) : p3.call(null,p1__12910_SHARP_));
} else {
return and__8770__auto____$2;
}
} else {
return and__8770__auto____$1;
}
});})(and__8770__auto__))
,args);
} else {
return and__8770__auto__;
}
})());
};
var G__12935 = function (x,y,z,var_args){
var args = null;
if (arguments.length > 3) {
var G__12936__i = 0, G__12936__a = new Array(arguments.length - 3);
while (G__12936__i < G__12936__a.length) {G__12936__a[G__12936__i] = arguments[G__12936__i + 3]; ++G__12936__i;}
args = new cljs.core.IndexedSeq(G__12936__a,0,null);
}
return G__12935__delegate.call(this,x,y,z,args);};
G__12935.cljs$lang$maxFixedArity = 3;
G__12935.cljs$lang$applyTo = (function (arglist__12937){
var x = cljs.core.first(arglist__12937);
arglist__12937 = cljs.core.next(arglist__12937);
var y = cljs.core.first(arglist__12937);
arglist__12937 = cljs.core.next(arglist__12937);
var z = cljs.core.first(arglist__12937);
var args = cljs.core.rest(arglist__12937);
return G__12935__delegate(x,y,z,args);
});
G__12935.cljs$core$IFn$_invoke$arity$variadic = G__12935__delegate;
return G__12935;
})()
;
cljs$core$ep3 = function(x,y,z,var_args){
var args = var_args;
switch(arguments.length){
case 0:
return cljs$core$ep3__0.call(this);
case 1:
return cljs$core$ep3__1.call(this,x);
case 2:
return cljs$core$ep3__2.call(this,x,y);
case 3:
return cljs$core$ep3__3.call(this,x,y,z);
default:
var G__12938 = null;
if (arguments.length > 3) {
var G__12939__i = 0, G__12939__a = new Array(arguments.length - 3);
while (G__12939__i < G__12939__a.length) {G__12939__a[G__12939__i] = arguments[G__12939__i + 3]; ++G__12939__i;}
G__12938 = new cljs.core.IndexedSeq(G__12939__a,0,null);
}
return cljs$core$ep3__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__12938);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
cljs$core$ep3.cljs$lang$maxFixedArity = 3;
cljs$core$ep3.cljs$lang$applyTo = cljs$core$ep3__4.cljs$lang$applyTo;
cljs$core$ep3.cljs$core$IFn$_invoke$arity$0 = cljs$core$ep3__0;
cljs$core$ep3.cljs$core$IFn$_invoke$arity$1 = cljs$core$ep3__1;
cljs$core$ep3.cljs$core$IFn$_invoke$arity$2 = cljs$core$ep3__2;
cljs$core$ep3.cljs$core$IFn$_invoke$arity$3 = cljs$core$ep3__3;
cljs$core$ep3.cljs$core$IFn$_invoke$arity$variadic = cljs$core$ep3__4.cljs$core$IFn$_invoke$arity$variadic;
return cljs$core$ep3;
})()
});
cljs.core.every_pred.cljs$core$IFn$_invoke$arity$variadic = (function (p1,p2,p3,ps){
var ps__$1 = cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4(p1,p2,p3,ps);
return ((function (ps__$1){
return (function() {
var cljs$core$epn = null;
var cljs$core$epn__0 = (function (){
return true;
});
var cljs$core$epn__1 = (function (x){
return cljs.core.every_QMARK_(((function (ps__$1){
return (function (p1__12911_SHARP_){
return (p1__12911_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__12911_SHARP_.cljs$core$IFn$_invoke$arity$1(x) : p1__12911_SHARP_.call(null,x));
});})(ps__$1))
,ps__$1);
});
var cljs$core$epn__2 = (function (x,y){
return cljs.core.every_QMARK_(((function (ps__$1){
return (function (p1__12912_SHARP_){
var and__8770__auto__ = (p1__12912_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__12912_SHARP_.cljs$core$IFn$_invoke$arity$1(x) : p1__12912_SHARP_.call(null,x));
if(cljs.core.truth_(and__8770__auto__)){
return (p1__12912_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__12912_SHARP_.cljs$core$IFn$_invoke$arity$1(y) : p1__12912_SHARP_.call(null,y));
} else {
return and__8770__auto__;
}
});})(ps__$1))
,ps__$1);
});
var cljs$core$epn__3 = (function (x,y,z){
return cljs.core.every_QMARK_(((function (ps__$1){
return (function (p1__12913_SHARP_){
var and__8770__auto__ = (p1__12913_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__12913_SHARP_.cljs$core$IFn$_invoke$arity$1(x) : p1__12913_SHARP_.call(null,x));
if(cljs.core.truth_(and__8770__auto__)){
var and__8770__auto____$1 = (p1__12913_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__12913_SHARP_.cljs$core$IFn$_invoke$arity$1(y) : p1__12913_SHARP_.call(null,y));
if(cljs.core.truth_(and__8770__auto____$1)){
return (p1__12913_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__12913_SHARP_.cljs$core$IFn$_invoke$arity$1(z) : p1__12913_SHARP_.call(null,z));
} else {
return and__8770__auto____$1;
}
} else {
return and__8770__auto__;
}
});})(ps__$1))
,ps__$1);
});
var cljs$core$epn__4 = (function() {
var G__12940__delegate = function (x,y,z,args){
return cljs.core.boolean$((function (){var and__8770__auto__ = cljs$core$epn.cljs$core$IFn$_invoke$arity$3(x,y,z);
if(cljs.core.truth_(and__8770__auto__)){
return cljs.core.every_QMARK_(((function (and__8770__auto__,ps__$1){
return (function (p1__12914_SHARP_){
return cljs.core.every_QMARK_(p1__12914_SHARP_,args);
});})(and__8770__auto__,ps__$1))
,ps__$1);
} else {
return and__8770__auto__;
}
})());
};
var G__12940 = function (x,y,z,var_args){
var args = null;
if (arguments.length > 3) {
var G__12941__i = 0, G__12941__a = new Array(arguments.length - 3);
while (G__12941__i < G__12941__a.length) {G__12941__a[G__12941__i] = arguments[G__12941__i + 3]; ++G__12941__i;}
args = new cljs.core.IndexedSeq(G__12941__a,0,null);
}
return G__12940__delegate.call(this,x,y,z,args);};
G__12940.cljs$lang$maxFixedArity = 3;
G__12940.cljs$lang$applyTo = (function (arglist__12942){
var x = cljs.core.first(arglist__12942);
arglist__12942 = cljs.core.next(arglist__12942);
var y = cljs.core.first(arglist__12942);
arglist__12942 = cljs.core.next(arglist__12942);
var z = cljs.core.first(arglist__12942);
var args = cljs.core.rest(arglist__12942);
return G__12940__delegate(x,y,z,args);
});
G__12940.cljs$core$IFn$_invoke$arity$variadic = G__12940__delegate;
return G__12940;
})()
;
cljs$core$epn = function(x,y,z,var_args){
var args = var_args;
switch(arguments.length){
case 0:
return cljs$core$epn__0.call(this);
case 1:
return cljs$core$epn__1.call(this,x);
case 2:
return cljs$core$epn__2.call(this,x,y);
case 3:
return cljs$core$epn__3.call(this,x,y,z);
default:
var G__12943 = null;
if (arguments.length > 3) {
var G__12944__i = 0, G__12944__a = new Array(arguments.length - 3);
while (G__12944__i < G__12944__a.length) {G__12944__a[G__12944__i] = arguments[G__12944__i + 3]; ++G__12944__i;}
G__12943 = new cljs.core.IndexedSeq(G__12944__a,0,null);
}
return cljs$core$epn__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__12943);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
cljs$core$epn.cljs$lang$maxFixedArity = 3;
cljs$core$epn.cljs$lang$applyTo = cljs$core$epn__4.cljs$lang$applyTo;
cljs$core$epn.cljs$core$IFn$_invoke$arity$0 = cljs$core$epn__0;
cljs$core$epn.cljs$core$IFn$_invoke$arity$1 = cljs$core$epn__1;
cljs$core$epn.cljs$core$IFn$_invoke$arity$2 = cljs$core$epn__2;
cljs$core$epn.cljs$core$IFn$_invoke$arity$3 = cljs$core$epn__3;
cljs$core$epn.cljs$core$IFn$_invoke$arity$variadic = cljs$core$epn__4.cljs$core$IFn$_invoke$arity$variadic;
return cljs$core$epn;
})()
;})(ps__$1))
});
cljs.core.every_pred.cljs$lang$applyTo = (function (seq12916){
var G__12917 = cljs.core.first(seq12916);
var seq12916__$1 = cljs.core.next(seq12916);
var G__12918 = cljs.core.first(seq12916__$1);
var seq12916__$2 = cljs.core.next(seq12916__$1);
var G__12919 = cljs.core.first(seq12916__$2);
var seq12916__$3 = cljs.core.next(seq12916__$2);
return cljs.core.every_pred.cljs$core$IFn$_invoke$arity$variadic(G__12917,G__12918,G__12919,seq12916__$3);
});
cljs.core.every_pred.cljs$lang$maxFixedArity = (3);
/**
* Takes a set of predicates and returns a function f that returns the first logical true value
* returned by one of its composing predicates against any of its arguments, else it returns
* logical false. Note that f is short-circuiting in that it will stop execution on the first
* argument that triggers a logical true result against the original predicates.
*/
cljs.core.some_fn = (function cljs$core$some_fn(var_args){
var G__12956 = arguments.length;
switch (G__12956) {
case 1:
return cljs.core.some_fn.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.some_fn.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.some_fn.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___12958 = arguments.length;
var i__10062__auto___12959 = (0);
while(true){
if((i__10062__auto___12959 < len__10061__auto___12958)){
args_arr__10084__auto__.push((arguments[i__10062__auto___12959]));
var G__12960 = (i__10062__auto___12959 + (1));
i__10062__auto___12959 = G__12960;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((3)),(0),null));
return cljs.core.some_fn.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__10085__auto__);
}
});
cljs.core.some_fn.cljs$core$IFn$_invoke$arity$1 = (function (p){
return (function() {
var cljs$core$sp1 = null;
var cljs$core$sp1__0 = (function (){
return null;
});
var cljs$core$sp1__1 = (function (x){
return (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(x) : p.call(null,x));
});
var cljs$core$sp1__2 = (function (x,y){
var or__8782__auto__ = (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(x) : p.call(null,x));
if(cljs.core.truth_(or__8782__auto__)){
return or__8782__auto__;
} else {
return (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(y) : p.call(null,y));
}
});
var cljs$core$sp1__3 = (function (x,y,z){
var or__8782__auto__ = (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(x) : p.call(null,x));
if(cljs.core.truth_(or__8782__auto__)){
return or__8782__auto__;
} else {
var or__8782__auto____$1 = (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(y) : p.call(null,y));
if(cljs.core.truth_(or__8782__auto____$1)){
return or__8782__auto____$1;
} else {
return (p.cljs$core$IFn$_invoke$arity$1 ? p.cljs$core$IFn$_invoke$arity$1(z) : p.call(null,z));
}
}
});
var cljs$core$sp1__4 = (function() {
var G__12961__delegate = function (x,y,z,args){
var or__8782__auto__ = cljs$core$sp1.cljs$core$IFn$_invoke$arity$3(x,y,z);
if(cljs.core.truth_(or__8782__auto__)){
return or__8782__auto__;
} else {
return cljs.core.some(p,args);
}
};
var G__12961 = function (x,y,z,var_args){
var args = null;
if (arguments.length > 3) {
var G__12962__i = 0, G__12962__a = new Array(arguments.length - 3);
while (G__12962__i < G__12962__a.length) {G__12962__a[G__12962__i] = arguments[G__12962__i + 3]; ++G__12962__i;}
args = new cljs.core.IndexedSeq(G__12962__a,0,null);
}
return G__12961__delegate.call(this,x,y,z,args);};
G__12961.cljs$lang$maxFixedArity = 3;
G__12961.cljs$lang$applyTo = (function (arglist__12963){
var x = cljs.core.first(arglist__12963);
arglist__12963 = cljs.core.next(arglist__12963);
var y = cljs.core.first(arglist__12963);
arglist__12963 = cljs.core.next(arglist__12963);
var z = cljs.core.first(arglist__12963);
var args = cljs.core.rest(arglist__12963);
return G__12961__delegate(x,y,z,args);
});
G__12961.cljs$core$IFn$_invoke$arity$variadic = G__12961__delegate;
return G__12961;
})()
;
cljs$core$sp1 = function(x,y,z,var_args){
var args = var_args;
switch(arguments.length){
case 0:
return cljs$core$sp1__0.call(this);
case 1:
return cljs$core$sp1__1.call(this,x);
case 2:
return cljs$core$sp1__2.call(this,x,y);
case 3:
return cljs$core$sp1__3.call(this,x,y,z);
default:
var G__12964 = null;
if (arguments.length > 3) {
var G__12965__i = 0, G__12965__a = new Array(arguments.length - 3);
while (G__12965__i < G__12965__a.length) {G__12965__a[G__12965__i] = arguments[G__12965__i + 3]; ++G__12965__i;}
G__12964 = new cljs.core.IndexedSeq(G__12965__a,0,null);
}
return cljs$core$sp1__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__12964);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
cljs$core$sp1.cljs$lang$maxFixedArity = 3;
cljs$core$sp1.cljs$lang$applyTo = cljs$core$sp1__4.cljs$lang$applyTo;
cljs$core$sp1.cljs$core$IFn$_invoke$arity$0 = cljs$core$sp1__0;
cljs$core$sp1.cljs$core$IFn$_invoke$arity$1 = cljs$core$sp1__1;
cljs$core$sp1.cljs$core$IFn$_invoke$arity$2 = cljs$core$sp1__2;
cljs$core$sp1.cljs$core$IFn$_invoke$arity$3 = cljs$core$sp1__3;
cljs$core$sp1.cljs$core$IFn$_invoke$arity$variadic = cljs$core$sp1__4.cljs$core$IFn$_invoke$arity$variadic;
return cljs$core$sp1;
})()
});
cljs.core.some_fn.cljs$core$IFn$_invoke$arity$2 = (function (p1,p2){
return (function() {
var cljs$core$sp2 = null;
var cljs$core$sp2__0 = (function (){
return null;
});
var cljs$core$sp2__1 = (function (x){
var or__8782__auto__ = (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));
if(cljs.core.truth_(or__8782__auto__)){
return or__8782__auto__;
} else {
return (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));
}
});
var cljs$core$sp2__2 = (function (x,y){
var or__8782__auto__ = (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));
if(cljs.core.truth_(or__8782__auto__)){
return or__8782__auto__;
} else {
var or__8782__auto____$1 = (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(y) : p1.call(null,y));
if(cljs.core.truth_(or__8782__auto____$1)){
return or__8782__auto____$1;
} else {
var or__8782__auto____$2 = (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));
if(cljs.core.truth_(or__8782__auto____$2)){
return or__8782__auto____$2;
} else {
return (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(y) : p2.call(null,y));
}
}
}
});
var cljs$core$sp2__3 = (function (x,y,z){
var or__8782__auto__ = (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));
if(cljs.core.truth_(or__8782__auto__)){
return or__8782__auto__;
} else {
var or__8782__auto____$1 = (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(y) : p1.call(null,y));
if(cljs.core.truth_(or__8782__auto____$1)){
return or__8782__auto____$1;
} else {
var or__8782__auto____$2 = (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(z) : p1.call(null,z));
if(cljs.core.truth_(or__8782__auto____$2)){
return or__8782__auto____$2;
} else {
var or__8782__auto____$3 = (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));
if(cljs.core.truth_(or__8782__auto____$3)){
return or__8782__auto____$3;
} else {
var or__8782__auto____$4 = (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(y) : p2.call(null,y));
if(cljs.core.truth_(or__8782__auto____$4)){
return or__8782__auto____$4;
} else {
return (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(z) : p2.call(null,z));
}
}
}
}
}
});
var cljs$core$sp2__4 = (function() {
var G__12966__delegate = function (x,y,z,args){
var or__8782__auto__ = cljs$core$sp2.cljs$core$IFn$_invoke$arity$3(x,y,z);
if(cljs.core.truth_(or__8782__auto__)){
return or__8782__auto__;
} else {
return cljs.core.some(((function (or__8782__auto__){
return (function (p1__12945_SHARP_){
var or__8782__auto____$1 = (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(p1__12945_SHARP_) : p1.call(null,p1__12945_SHARP_));
if(cljs.core.truth_(or__8782__auto____$1)){
return or__8782__auto____$1;
} else {
return (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(p1__12945_SHARP_) : p2.call(null,p1__12945_SHARP_));
}
});})(or__8782__auto__))
,args);
}
};
var G__12966 = function (x,y,z,var_args){
var args = null;
if (arguments.length > 3) {
var G__12967__i = 0, G__12967__a = new Array(arguments.length - 3);
while (G__12967__i < G__12967__a.length) {G__12967__a[G__12967__i] = arguments[G__12967__i + 3]; ++G__12967__i;}
args = new cljs.core.IndexedSeq(G__12967__a,0,null);
}
return G__12966__delegate.call(this,x,y,z,args);};
G__12966.cljs$lang$maxFixedArity = 3;
G__12966.cljs$lang$applyTo = (function (arglist__12968){
var x = cljs.core.first(arglist__12968);
arglist__12968 = cljs.core.next(arglist__12968);
var y = cljs.core.first(arglist__12968);
arglist__12968 = cljs.core.next(arglist__12968);
var z = cljs.core.first(arglist__12968);
var args = cljs.core.rest(arglist__12968);
return G__12966__delegate(x,y,z,args);
});
G__12966.cljs$core$IFn$_invoke$arity$variadic = G__12966__delegate;
return G__12966;
})()
;
cljs$core$sp2 = function(x,y,z,var_args){
var args = var_args;
switch(arguments.length){
case 0:
return cljs$core$sp2__0.call(this);
case 1:
return cljs$core$sp2__1.call(this,x);
case 2:
return cljs$core$sp2__2.call(this,x,y);
case 3:
return cljs$core$sp2__3.call(this,x,y,z);
default:
var G__12969 = null;
if (arguments.length > 3) {
var G__12970__i = 0, G__12970__a = new Array(arguments.length - 3);
while (G__12970__i < G__12970__a.length) {G__12970__a[G__12970__i] = arguments[G__12970__i + 3]; ++G__12970__i;}
G__12969 = new cljs.core.IndexedSeq(G__12970__a,0,null);
}
return cljs$core$sp2__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__12969);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
cljs$core$sp2.cljs$lang$maxFixedArity = 3;
cljs$core$sp2.cljs$lang$applyTo = cljs$core$sp2__4.cljs$lang$applyTo;
cljs$core$sp2.cljs$core$IFn$_invoke$arity$0 = cljs$core$sp2__0;
cljs$core$sp2.cljs$core$IFn$_invoke$arity$1 = cljs$core$sp2__1;
cljs$core$sp2.cljs$core$IFn$_invoke$arity$2 = cljs$core$sp2__2;
cljs$core$sp2.cljs$core$IFn$_invoke$arity$3 = cljs$core$sp2__3;
cljs$core$sp2.cljs$core$IFn$_invoke$arity$variadic = cljs$core$sp2__4.cljs$core$IFn$_invoke$arity$variadic;
return cljs$core$sp2;
})()
});
cljs.core.some_fn.cljs$core$IFn$_invoke$arity$3 = (function (p1,p2,p3){
return (function() {
var cljs$core$sp3 = null;
var cljs$core$sp3__0 = (function (){
return null;
});
var cljs$core$sp3__1 = (function (x){
var or__8782__auto__ = (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));
if(cljs.core.truth_(or__8782__auto__)){
return or__8782__auto__;
} else {
var or__8782__auto____$1 = (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));
if(cljs.core.truth_(or__8782__auto____$1)){
return or__8782__auto____$1;
} else {
return (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(x) : p3.call(null,x));
}
}
});
var cljs$core$sp3__2 = (function (x,y){
var or__8782__auto__ = (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));
if(cljs.core.truth_(or__8782__auto__)){
return or__8782__auto__;
} else {
var or__8782__auto____$1 = (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));
if(cljs.core.truth_(or__8782__auto____$1)){
return or__8782__auto____$1;
} else {
var or__8782__auto____$2 = (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(x) : p3.call(null,x));
if(cljs.core.truth_(or__8782__auto____$2)){
return or__8782__auto____$2;
} else {
var or__8782__auto____$3 = (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(y) : p1.call(null,y));
if(cljs.core.truth_(or__8782__auto____$3)){
return or__8782__auto____$3;
} else {
var or__8782__auto____$4 = (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(y) : p2.call(null,y));
if(cljs.core.truth_(or__8782__auto____$4)){
return or__8782__auto____$4;
} else {
return (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(y) : p3.call(null,y));
}
}
}
}
}
});
var cljs$core$sp3__3 = (function (x,y,z){
var or__8782__auto__ = (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(x) : p1.call(null,x));
if(cljs.core.truth_(or__8782__auto__)){
return or__8782__auto__;
} else {
var or__8782__auto____$1 = (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(x) : p2.call(null,x));
if(cljs.core.truth_(or__8782__auto____$1)){
return or__8782__auto____$1;
} else {
var or__8782__auto____$2 = (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(x) : p3.call(null,x));
if(cljs.core.truth_(or__8782__auto____$2)){
return or__8782__auto____$2;
} else {
var or__8782__auto____$3 = (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(y) : p1.call(null,y));
if(cljs.core.truth_(or__8782__auto____$3)){
return or__8782__auto____$3;
} else {
var or__8782__auto____$4 = (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(y) : p2.call(null,y));
if(cljs.core.truth_(or__8782__auto____$4)){
return or__8782__auto____$4;
} else {
var or__8782__auto____$5 = (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(y) : p3.call(null,y));
if(cljs.core.truth_(or__8782__auto____$5)){
return or__8782__auto____$5;
} else {
var or__8782__auto____$6 = (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(z) : p1.call(null,z));
if(cljs.core.truth_(or__8782__auto____$6)){
return or__8782__auto____$6;
} else {
var or__8782__auto____$7 = (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(z) : p2.call(null,z));
if(cljs.core.truth_(or__8782__auto____$7)){
return or__8782__auto____$7;
} else {
return (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(z) : p3.call(null,z));
}
}
}
}
}
}
}
}
});
var cljs$core$sp3__4 = (function() {
var G__12971__delegate = function (x,y,z,args){
var or__8782__auto__ = cljs$core$sp3.cljs$core$IFn$_invoke$arity$3(x,y,z);
if(cljs.core.truth_(or__8782__auto__)){
return or__8782__auto__;
} else {
return cljs.core.some(((function (or__8782__auto__){
return (function (p1__12946_SHARP_){
var or__8782__auto____$1 = (p1.cljs$core$IFn$_invoke$arity$1 ? p1.cljs$core$IFn$_invoke$arity$1(p1__12946_SHARP_) : p1.call(null,p1__12946_SHARP_));
if(cljs.core.truth_(or__8782__auto____$1)){
return or__8782__auto____$1;
} else {
var or__8782__auto____$2 = (p2.cljs$core$IFn$_invoke$arity$1 ? p2.cljs$core$IFn$_invoke$arity$1(p1__12946_SHARP_) : p2.call(null,p1__12946_SHARP_));
if(cljs.core.truth_(or__8782__auto____$2)){
return or__8782__auto____$2;
} else {
return (p3.cljs$core$IFn$_invoke$arity$1 ? p3.cljs$core$IFn$_invoke$arity$1(p1__12946_SHARP_) : p3.call(null,p1__12946_SHARP_));
}
}
});})(or__8782__auto__))
,args);
}
};
var G__12971 = function (x,y,z,var_args){
var args = null;
if (arguments.length > 3) {
var G__12972__i = 0, G__12972__a = new Array(arguments.length - 3);
while (G__12972__i < G__12972__a.length) {G__12972__a[G__12972__i] = arguments[G__12972__i + 3]; ++G__12972__i;}
args = new cljs.core.IndexedSeq(G__12972__a,0,null);
}
return G__12971__delegate.call(this,x,y,z,args);};
G__12971.cljs$lang$maxFixedArity = 3;
G__12971.cljs$lang$applyTo = (function (arglist__12973){
var x = cljs.core.first(arglist__12973);
arglist__12973 = cljs.core.next(arglist__12973);
var y = cljs.core.first(arglist__12973);
arglist__12973 = cljs.core.next(arglist__12973);
var z = cljs.core.first(arglist__12973);
var args = cljs.core.rest(arglist__12973);
return G__12971__delegate(x,y,z,args);
});
G__12971.cljs$core$IFn$_invoke$arity$variadic = G__12971__delegate;
return G__12971;
})()
;
cljs$core$sp3 = function(x,y,z,var_args){
var args = var_args;
switch(arguments.length){
case 0:
return cljs$core$sp3__0.call(this);
case 1:
return cljs$core$sp3__1.call(this,x);
case 2:
return cljs$core$sp3__2.call(this,x,y);
case 3:
return cljs$core$sp3__3.call(this,x,y,z);
default:
var G__12974 = null;
if (arguments.length > 3) {
var G__12975__i = 0, G__12975__a = new Array(arguments.length - 3);
while (G__12975__i < G__12975__a.length) {G__12975__a[G__12975__i] = arguments[G__12975__i + 3]; ++G__12975__i;}
G__12974 = new cljs.core.IndexedSeq(G__12975__a,0,null);
}
return cljs$core$sp3__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__12974);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
cljs$core$sp3.cljs$lang$maxFixedArity = 3;
cljs$core$sp3.cljs$lang$applyTo = cljs$core$sp3__4.cljs$lang$applyTo;
cljs$core$sp3.cljs$core$IFn$_invoke$arity$0 = cljs$core$sp3__0;
cljs$core$sp3.cljs$core$IFn$_invoke$arity$1 = cljs$core$sp3__1;
cljs$core$sp3.cljs$core$IFn$_invoke$arity$2 = cljs$core$sp3__2;
cljs$core$sp3.cljs$core$IFn$_invoke$arity$3 = cljs$core$sp3__3;
cljs$core$sp3.cljs$core$IFn$_invoke$arity$variadic = cljs$core$sp3__4.cljs$core$IFn$_invoke$arity$variadic;
return cljs$core$sp3;
})()
});
cljs.core.some_fn.cljs$core$IFn$_invoke$arity$variadic = (function (p1,p2,p3,ps){
var ps__$1 = cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4(p1,p2,p3,ps);
return ((function (ps__$1){
return (function() {
var cljs$core$spn = null;
var cljs$core$spn__0 = (function (){
return null;
});
var cljs$core$spn__1 = (function (x){
return cljs.core.some(((function (ps__$1){
return (function (p1__12947_SHARP_){
return (p1__12947_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__12947_SHARP_.cljs$core$IFn$_invoke$arity$1(x) : p1__12947_SHARP_.call(null,x));
});})(ps__$1))
,ps__$1);
});
var cljs$core$spn__2 = (function (x,y){
return cljs.core.some(((function (ps__$1){
return (function (p1__12948_SHARP_){
var or__8782__auto__ = (p1__12948_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__12948_SHARP_.cljs$core$IFn$_invoke$arity$1(x) : p1__12948_SHARP_.call(null,x));
if(cljs.core.truth_(or__8782__auto__)){
return or__8782__auto__;
} else {
return (p1__12948_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__12948_SHARP_.cljs$core$IFn$_invoke$arity$1(y) : p1__12948_SHARP_.call(null,y));
}
});})(ps__$1))
,ps__$1);
});
var cljs$core$spn__3 = (function (x,y,z){
return cljs.core.some(((function (ps__$1){
return (function (p1__12949_SHARP_){
var or__8782__auto__ = (p1__12949_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__12949_SHARP_.cljs$core$IFn$_invoke$arity$1(x) : p1__12949_SHARP_.call(null,x));
if(cljs.core.truth_(or__8782__auto__)){
return or__8782__auto__;
} else {
var or__8782__auto____$1 = (p1__12949_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__12949_SHARP_.cljs$core$IFn$_invoke$arity$1(y) : p1__12949_SHARP_.call(null,y));
if(cljs.core.truth_(or__8782__auto____$1)){
return or__8782__auto____$1;
} else {
return (p1__12949_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p1__12949_SHARP_.cljs$core$IFn$_invoke$arity$1(z) : p1__12949_SHARP_.call(null,z));
}
}
});})(ps__$1))
,ps__$1);
});
var cljs$core$spn__4 = (function() {
var G__12976__delegate = function (x,y,z,args){
var or__8782__auto__ = cljs$core$spn.cljs$core$IFn$_invoke$arity$3(x,y,z);
if(cljs.core.truth_(or__8782__auto__)){
return or__8782__auto__;
} else {
return cljs.core.some(((function (or__8782__auto__,ps__$1){
return (function (p1__12950_SHARP_){
return cljs.core.some(p1__12950_SHARP_,args);
});})(or__8782__auto__,ps__$1))
,ps__$1);
}
};
var G__12976 = function (x,y,z,var_args){
var args = null;
if (arguments.length > 3) {
var G__12977__i = 0, G__12977__a = new Array(arguments.length - 3);
while (G__12977__i < G__12977__a.length) {G__12977__a[G__12977__i] = arguments[G__12977__i + 3]; ++G__12977__i;}
args = new cljs.core.IndexedSeq(G__12977__a,0,null);
}
return G__12976__delegate.call(this,x,y,z,args);};
G__12976.cljs$lang$maxFixedArity = 3;
G__12976.cljs$lang$applyTo = (function (arglist__12978){
var x = cljs.core.first(arglist__12978);
arglist__12978 = cljs.core.next(arglist__12978);
var y = cljs.core.first(arglist__12978);
arglist__12978 = cljs.core.next(arglist__12978);
var z = cljs.core.first(arglist__12978);
var args = cljs.core.rest(arglist__12978);
return G__12976__delegate(x,y,z,args);
});
G__12976.cljs$core$IFn$_invoke$arity$variadic = G__12976__delegate;
return G__12976;
})()
;
cljs$core$spn = function(x,y,z,var_args){
var args = var_args;
switch(arguments.length){
case 0:
return cljs$core$spn__0.call(this);
case 1:
return cljs$core$spn__1.call(this,x);
case 2:
return cljs$core$spn__2.call(this,x,y);
case 3:
return cljs$core$spn__3.call(this,x,y,z);
default:
var G__12979 = null;
if (arguments.length > 3) {
var G__12980__i = 0, G__12980__a = new Array(arguments.length - 3);
while (G__12980__i < G__12980__a.length) {G__12980__a[G__12980__i] = arguments[G__12980__i + 3]; ++G__12980__i;}
G__12979 = new cljs.core.IndexedSeq(G__12980__a,0,null);
}
return cljs$core$spn__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__12979);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
cljs$core$spn.cljs$lang$maxFixedArity = 3;
cljs$core$spn.cljs$lang$applyTo = cljs$core$spn__4.cljs$lang$applyTo;
cljs$core$spn.cljs$core$IFn$_invoke$arity$0 = cljs$core$spn__0;
cljs$core$spn.cljs$core$IFn$_invoke$arity$1 = cljs$core$spn__1;
cljs$core$spn.cljs$core$IFn$_invoke$arity$2 = cljs$core$spn__2;
cljs$core$spn.cljs$core$IFn$_invoke$arity$3 = cljs$core$spn__3;
cljs$core$spn.cljs$core$IFn$_invoke$arity$variadic = cljs$core$spn__4.cljs$core$IFn$_invoke$arity$variadic;
return cljs$core$spn;
})()
;})(ps__$1))
});
cljs.core.some_fn.cljs$lang$applyTo = (function (seq12952){
var G__12953 = cljs.core.first(seq12952);
var seq12952__$1 = cljs.core.next(seq12952);
var G__12954 = cljs.core.first(seq12952__$1);
var seq12952__$2 = cljs.core.next(seq12952__$1);
var G__12955 = cljs.core.first(seq12952__$2);
var seq12952__$3 = cljs.core.next(seq12952__$2);
return cljs.core.some_fn.cljs$core$IFn$_invoke$arity$variadic(G__12953,G__12954,G__12955,seq12952__$3);
});
cljs.core.some_fn.cljs$lang$maxFixedArity = (3);
/**
* Returns a lazy sequence consisting of the result of applying f to
* the set of first items of each coll, followed by applying f to the
* set of second items in each coll, until any one of the colls is
* exhausted. Any remaining items in other colls are ignored. Function
* f should accept number-of-colls arguments. Returns a transducer when
* no collection is provided.
*/
cljs.core.map = (function cljs$core$map(var_args){
var G__12988 = arguments.length;
switch (G__12988) {
case 1:
return cljs.core.map.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.map.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.map.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
case 4:
return cljs.core.map.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___13001 = arguments.length;
var i__10062__auto___13002 = (0);
while(true){
if((i__10062__auto___13002 < len__10061__auto___13001)){
args_arr__10084__auto__.push((arguments[i__10062__auto___13002]));
var G__13003 = (i__10062__auto___13002 + (1));
i__10062__auto___13002 = G__13003;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((4)),(0),null));
return cljs.core.map.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__10085__auto__);
}
});
cljs.core.map.cljs$core$IFn$_invoke$arity$1 = (function (f){
return (function (rf){
return (function() {
var G__13004 = null;
var G__13004__0 = (function (){
return (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));
});
var G__13004__1 = (function (result){
return (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));
});
var G__13004__2 = (function (result,input){
var G__12989 = result;
var G__12990 = (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(input) : f.call(null,input));
return (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(G__12989,G__12990) : rf.call(null,G__12989,G__12990));
});
var G__13004__3 = (function() {
var G__13005__delegate = function (result,input,inputs){
var G__12991 = result;
var G__12992 = cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f,input,inputs);
return (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(G__12991,G__12992) : rf.call(null,G__12991,G__12992));
};
var G__13005 = function (result,input,var_args){
var inputs = null;
if (arguments.length > 2) {
var G__13006__i = 0, G__13006__a = new Array(arguments.length - 2);
while (G__13006__i < G__13006__a.length) {G__13006__a[G__13006__i] = arguments[G__13006__i + 2]; ++G__13006__i;}
inputs = new cljs.core.IndexedSeq(G__13006__a,0,null);
}
return G__13005__delegate.call(this,result,input,inputs);};
G__13005.cljs$lang$maxFixedArity = 2;
G__13005.cljs$lang$applyTo = (function (arglist__13007){
var result = cljs.core.first(arglist__13007);
arglist__13007 = cljs.core.next(arglist__13007);
var input = cljs.core.first(arglist__13007);
var inputs = cljs.core.rest(arglist__13007);
return G__13005__delegate(result,input,inputs);
});
G__13005.cljs$core$IFn$_invoke$arity$variadic = G__13005__delegate;
return G__13005;
})()
;
G__13004 = function(result,input,var_args){
var inputs = var_args;
switch(arguments.length){
case 0:
return G__13004__0.call(this);
case 1:
return G__13004__1.call(this,result);
case 2:
return G__13004__2.call(this,result,input);
default:
var G__13008 = null;
if (arguments.length > 2) {
var G__13009__i = 0, G__13009__a = new Array(arguments.length - 2);
while (G__13009__i < G__13009__a.length) {G__13009__a[G__13009__i] = arguments[G__13009__i + 2]; ++G__13009__i;}
G__13008 = new cljs.core.IndexedSeq(G__13009__a,0,null);
}
return G__13004__3.cljs$core$IFn$_invoke$arity$variadic(result,input, G__13008);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13004.cljs$lang$maxFixedArity = 2;
G__13004.cljs$lang$applyTo = G__13004__3.cljs$lang$applyTo;
G__13004.cljs$core$IFn$_invoke$arity$0 = G__13004__0;
G__13004.cljs$core$IFn$_invoke$arity$1 = G__13004__1;
G__13004.cljs$core$IFn$_invoke$arity$2 = G__13004__2;
G__13004.cljs$core$IFn$_invoke$arity$variadic = G__13004__3.cljs$core$IFn$_invoke$arity$variadic;
return G__13004;
})()
});
});
cljs.core.map.cljs$core$IFn$_invoke$arity$2 = (function (f,coll){
return (new cljs.core.LazySeq(null,(function (){
var temp__5457__auto__ = cljs.core.seq(coll);
if(temp__5457__auto__){
var s = temp__5457__auto__;
if(cljs.core.chunked_seq_QMARK_(s)){
var c = cljs.core.chunk_first(s);
var size = cljs.core.count(c);
var b = cljs.core.chunk_buffer(size);
var n__9827__auto___13010 = size;
var i_13011 = (0);
while(true){
if((i_13011 < n__9827__auto___13010)){
cljs.core.chunk_append(b,(function (){var G__12993 = cljs.core._nth.cljs$core$IFn$_invoke$arity$2(c,i_13011);
return (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__12993) : f.call(null,G__12993));
})());
var G__13012 = (i_13011 + (1));
i_13011 = G__13012;
continue;
} else {
}
break;
}
return cljs.core.chunk_cons(cljs.core.chunk(b),cljs.core.map.cljs$core$IFn$_invoke$arity$2(f,cljs.core.chunk_rest(s)));
} else {
return cljs.core.cons((function (){var G__12994 = cljs.core.first(s);
return (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__12994) : f.call(null,G__12994));
})(),cljs.core.map.cljs$core$IFn$_invoke$arity$2(f,cljs.core.rest(s)));
}
} else {
return null;
}
}),null,null));
});
cljs.core.map.cljs$core$IFn$_invoke$arity$3 = (function (f,c1,c2){
return (new cljs.core.LazySeq(null,(function (){
var s1 = cljs.core.seq(c1);
var s2 = cljs.core.seq(c2);
if((s1) && (s2)){
return cljs.core.cons((function (){var G__12995 = cljs.core.first(s1);
var G__12996 = cljs.core.first(s2);
return (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__12995,G__12996) : f.call(null,G__12995,G__12996));
})(),cljs.core.map.cljs$core$IFn$_invoke$arity$3(f,cljs.core.rest(s1),cljs.core.rest(s2)));
} else {
return null;
}
}),null,null));
});
cljs.core.map.cljs$core$IFn$_invoke$arity$4 = (function (f,c1,c2,c3){
return (new cljs.core.LazySeq(null,(function (){
var s1 = cljs.core.seq(c1);
var s2 = cljs.core.seq(c2);
var s3 = cljs.core.seq(c3);
if((s1) && (s2) && (s3)){
return cljs.core.cons((function (){var G__12997 = cljs.core.first(s1);
var G__12998 = cljs.core.first(s2);
var G__12999 = cljs.core.first(s3);
return (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__12997,G__12998,G__12999) : f.call(null,G__12997,G__12998,G__12999));
})(),cljs.core.map.cljs$core$IFn$_invoke$arity$4(f,cljs.core.rest(s1),cljs.core.rest(s2),cljs.core.rest(s3)));
} else {
return null;
}
}),null,null));
});
cljs.core.map.cljs$core$IFn$_invoke$arity$variadic = (function (f,c1,c2,c3,colls){
var step = (function cljs$core$step(cs){
return (new cljs.core.LazySeq(null,(function (){
var ss = cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.seq,cs);
if(cljs.core.every_QMARK_(cljs.core.identity,ss)){
return cljs.core.cons(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.first,ss),cljs$core$step(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.rest,ss)));
} else {
return null;
}
}),null,null));
});
return cljs.core.map.cljs$core$IFn$_invoke$arity$2(((function (step){
return (function (p1__12981_SHARP_){
return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(f,p1__12981_SHARP_);
});})(step))
,step(cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(colls,c3,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([c2,c1], 0))));
});
cljs.core.map.cljs$lang$applyTo = (function (seq12983){
var G__12984 = cljs.core.first(seq12983);
var seq12983__$1 = cljs.core.next(seq12983);
var G__12985 = cljs.core.first(seq12983__$1);
var seq12983__$2 = cljs.core.next(seq12983__$1);
var G__12986 = cljs.core.first(seq12983__$2);
var seq12983__$3 = cljs.core.next(seq12983__$2);
var G__12987 = cljs.core.first(seq12983__$3);
var seq12983__$4 = cljs.core.next(seq12983__$3);
return cljs.core.map.cljs$core$IFn$_invoke$arity$variadic(G__12984,G__12985,G__12986,G__12987,seq12983__$4);
});
cljs.core.map.cljs$lang$maxFixedArity = (4);
/**
* Returns a lazy sequence of the first n items in coll, or all items if
* there are fewer than n. Returns a stateful transducer when
* no collection is provided.
*/
cljs.core.take = (function cljs$core$take(var_args){
var G__13014 = arguments.length;
switch (G__13014) {
case 1:
return cljs.core.take.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.take.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.take.cljs$core$IFn$_invoke$arity$1 = (function (n){
if(typeof n === 'number'){
} else {
throw (new Error("Assert failed: (number? n)"));
}
return (function (rf){
var na = cljs.core.volatile_BANG_(n);
return ((function (na){
return (function() {
var G__13016 = null;
var G__13016__0 = (function (){
return (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));
});
var G__13016__1 = (function (result){
return (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));
});
var G__13016__2 = (function (result,input){
var n__$1 = cljs.core.deref(na);
var nn = cljs.core._vreset_BANG_(na,(cljs.core._deref(na) - (1)));
var result__$1 = (((n__$1 > (0)))?(rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input)):result);
if(!((nn > (0)))){
return cljs.core.ensure_reduced(result__$1);
} else {
return result__$1;
}
});
G__13016 = function(result,input){
switch(arguments.length){
case 0:
return G__13016__0.call(this);
case 1:
return G__13016__1.call(this,result);
case 2:
return G__13016__2.call(this,result,input);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13016.cljs$core$IFn$_invoke$arity$0 = G__13016__0;
G__13016.cljs$core$IFn$_invoke$arity$1 = G__13016__1;
G__13016.cljs$core$IFn$_invoke$arity$2 = G__13016__2;
return G__13016;
})()
;})(na))
});
});
cljs.core.take.cljs$core$IFn$_invoke$arity$2 = (function (n,coll){
if(typeof n === 'number'){
} else {
throw (new Error("Assert failed: (number? n)"));
}
return (new cljs.core.LazySeq(null,(function (){
if((n > (0))){
var temp__5457__auto__ = cljs.core.seq(coll);
if(temp__5457__auto__){
var s = temp__5457__auto__;
return cljs.core.cons(cljs.core.first(s),cljs.core.take.cljs$core$IFn$_invoke$arity$2((n - (1)),cljs.core.rest(s)));
} else {
return null;
}
} else {
return null;
}
}),null,null));
});
cljs.core.take.cljs$lang$maxFixedArity = 2;
/**
* Returns a lazy sequence of all but the first n items in coll.
* Returns a stateful transducer when no collection is provided.
*/
cljs.core.drop = (function cljs$core$drop(var_args){
var G__13018 = arguments.length;
switch (G__13018) {
case 1:
return cljs.core.drop.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.drop.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.drop.cljs$core$IFn$_invoke$arity$1 = (function (n){
if(typeof n === 'number'){
} else {
throw (new Error("Assert failed: (number? n)"));
}
return (function (rf){
var na = cljs.core.volatile_BANG_(n);
return ((function (na){
return (function() {
var G__13020 = null;
var G__13020__0 = (function (){
return (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));
});
var G__13020__1 = (function (result){
return (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));
});
var G__13020__2 = (function (result,input){
var n__$1 = cljs.core.deref(na);
cljs.core._vreset_BANG_(na,(cljs.core._deref(na) - (1)));
if((n__$1 > (0))){
return result;
} else {
return (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));
}
});
G__13020 = function(result,input){
switch(arguments.length){
case 0:
return G__13020__0.call(this);
case 1:
return G__13020__1.call(this,result);
case 2:
return G__13020__2.call(this,result,input);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13020.cljs$core$IFn$_invoke$arity$0 = G__13020__0;
G__13020.cljs$core$IFn$_invoke$arity$1 = G__13020__1;
G__13020.cljs$core$IFn$_invoke$arity$2 = G__13020__2;
return G__13020;
})()
;})(na))
});
});
cljs.core.drop.cljs$core$IFn$_invoke$arity$2 = (function (n,coll){
if(typeof n === 'number'){
} else {
throw (new Error("Assert failed: (number? n)"));
}
var step = (function (n__$1,coll__$1){
while(true){
var s = cljs.core.seq(coll__$1);
if(((n__$1 > (0))) && (s)){
var G__13021 = (n__$1 - (1));
var G__13022 = cljs.core.rest(s);
n__$1 = G__13021;
coll__$1 = G__13022;
continue;
} else {
return s;
}
break;
}
});
return (new cljs.core.LazySeq(null,((function (step){
return (function (){
return step(n,coll);
});})(step))
,null,null));
});
cljs.core.drop.cljs$lang$maxFixedArity = 2;
/**
* Return a lazy sequence of all but the last n (default 1) items in coll
*/
cljs.core.drop_last = (function cljs$core$drop_last(var_args){
var G__13024 = arguments.length;
switch (G__13024) {
case 1:
return cljs.core.drop_last.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.drop_last.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.drop_last.cljs$core$IFn$_invoke$arity$1 = (function (s){
return cljs.core.drop_last.cljs$core$IFn$_invoke$arity$2((1),s);
});
cljs.core.drop_last.cljs$core$IFn$_invoke$arity$2 = (function (n,s){
return cljs.core.map.cljs$core$IFn$_invoke$arity$3((function (x,_){
return x;
}),s,cljs.core.drop.cljs$core$IFn$_invoke$arity$2(n,s));
});
cljs.core.drop_last.cljs$lang$maxFixedArity = 2;
/**
* Returns a seq of the last n items in coll. Depending on the type
* of coll may be no better than linear time. For vectors, see also subvec.
*/
cljs.core.take_last = (function cljs$core$take_last(n,coll){
var s = cljs.core.seq(coll);
var lead = cljs.core.seq(cljs.core.drop.cljs$core$IFn$_invoke$arity$2(n,coll));
while(true){
if(lead){
var G__13026 = cljs.core.next(s);
var G__13027 = cljs.core.next(lead);
s = G__13026;
lead = G__13027;
continue;
} else {
return s;
}
break;
}
});
/**
* Returns a lazy sequence of the items in coll starting from the
* first item for which (pred item) returns logical false. Returns a
* stateful transducer when no collection is provided.
*/
cljs.core.drop_while = (function cljs$core$drop_while(var_args){
var G__13029 = arguments.length;
switch (G__13029) {
case 1:
return cljs.core.drop_while.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.drop_while.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.drop_while.cljs$core$IFn$_invoke$arity$1 = (function (pred){
return (function (rf){
var da = cljs.core.volatile_BANG_(true);
return ((function (da){
return (function() {
var G__13033 = null;
var G__13033__0 = (function (){
return (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));
});
var G__13033__1 = (function (result){
return (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));
});
var G__13033__2 = (function (result,input){
var drop_QMARK_ = cljs.core.deref(da);
if(cljs.core.truth_((function (){var and__8770__auto__ = drop_QMARK_;
if(cljs.core.truth_(and__8770__auto__)){
return (pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(input) : pred.call(null,input));
} else {
return and__8770__auto__;
}
})())){
return result;
} else {
cljs.core.vreset_BANG_(da,null);
return (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));
}
});
G__13033 = function(result,input){
switch(arguments.length){
case 0:
return G__13033__0.call(this);
case 1:
return G__13033__1.call(this,result);
case 2:
return G__13033__2.call(this,result,input);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13033.cljs$core$IFn$_invoke$arity$0 = G__13033__0;
G__13033.cljs$core$IFn$_invoke$arity$1 = G__13033__1;
G__13033.cljs$core$IFn$_invoke$arity$2 = G__13033__2;
return G__13033;
})()
;})(da))
});
});
cljs.core.drop_while.cljs$core$IFn$_invoke$arity$2 = (function (pred,coll){
var step = (function (pred__$1,coll__$1){
while(true){
var s = cljs.core.seq(coll__$1);
if(cljs.core.truth_((function (){var and__8770__auto__ = s;
if(and__8770__auto__){
var G__13031 = cljs.core.first(s);
return (pred__$1.cljs$core$IFn$_invoke$arity$1 ? pred__$1.cljs$core$IFn$_invoke$arity$1(G__13031) : pred__$1.call(null,G__13031));
} else {
return and__8770__auto__;
}
})())){
var G__13034 = pred__$1;
var G__13035 = cljs.core.rest(s);
pred__$1 = G__13034;
coll__$1 = G__13035;
continue;
} else {
return s;
}
break;
}
});
return (new cljs.core.LazySeq(null,((function (step){
return (function (){
return step(pred,coll);
});})(step))
,null,null));
});
cljs.core.drop_while.cljs$lang$maxFixedArity = 2;
/**
* Returns a lazy (infinite!) sequence of repetitions of the items in coll.
*/
cljs.core.cycle = (function cljs$core$cycle(coll){
return (new cljs.core.LazySeq(null,(function (){
var temp__5457__auto__ = cljs.core.seq(coll);
if(temp__5457__auto__){
var s = temp__5457__auto__;
return cljs.core.concat.cljs$core$IFn$_invoke$arity$2(s,(cljs.core.cycle.cljs$core$IFn$_invoke$arity$1 ? cljs.core.cycle.cljs$core$IFn$_invoke$arity$1(s) : cljs.core.cycle.call(null,s)));
} else {
return null;
}
}),null,null));
});
/**
* Returns a vector of [(take n coll) (drop n coll)]
*/
cljs.core.split_at = (function cljs$core$split_at(n,coll){
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,coll),cljs.core.drop.cljs$core$IFn$_invoke$arity$2(n,coll)], null);
});
/**
* Returns a lazy (infinite!, or length n if supplied) sequence of xs.
*/
cljs.core.repeat = (function cljs$core$repeat(var_args){
var G__13037 = arguments.length;
switch (G__13037) {
case 1:
return cljs.core.repeat.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.repeat.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.repeat.cljs$core$IFn$_invoke$arity$1 = (function (x){
return (new cljs.core.LazySeq(null,(function (){
return cljs.core.cons(x,cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(x));
}),null,null));
});
cljs.core.repeat.cljs$core$IFn$_invoke$arity$2 = (function (n,x){
return cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(x));
});
cljs.core.repeat.cljs$lang$maxFixedArity = 2;
/**
* DEPRECATED: Use 'repeat' instead.
* Returns a lazy seq of n xs.
*/
cljs.core.replicate = (function cljs$core$replicate(n,x){
return cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(x));
});
/**
* Takes a function of no args, presumably with side effects, and
* returns an infinite (or length n if supplied) lazy sequence of calls
* to it
*/
cljs.core.repeatedly = (function cljs$core$repeatedly(var_args){
var G__13040 = arguments.length;
switch (G__13040) {
case 1:
return cljs.core.repeatedly.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.repeatedly.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.repeatedly.cljs$core$IFn$_invoke$arity$1 = (function (f){
return (new cljs.core.LazySeq(null,(function (){
return cljs.core.cons((f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null)),cljs.core.repeatedly.cljs$core$IFn$_invoke$arity$1(f));
}),null,null));
});
cljs.core.repeatedly.cljs$core$IFn$_invoke$arity$2 = (function (n,f){
return cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,cljs.core.repeatedly.cljs$core$IFn$_invoke$arity$1(f));
});
cljs.core.repeatedly.cljs$lang$maxFixedArity = 2;
/**
* Returns a lazy sequence of x, (f x), (f (f x)) etc. f must be free of side-effects
*/
cljs.core.iterate = (function cljs$core$iterate(f,x){
return cljs.core.cons(x,(new cljs.core.LazySeq(null,(function (){
var G__13042 = f;
var G__13043 = (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(x) : f.call(null,x));
return (cljs.core.iterate.cljs$core$IFn$_invoke$arity$2 ? cljs.core.iterate.cljs$core$IFn$_invoke$arity$2(G__13042,G__13043) : cljs.core.iterate.call(null,G__13042,G__13043));
}),null,null)));
});
/**
* Returns a lazy seq of the first item in each coll, then the second etc.
*/
cljs.core.interleave = (function cljs$core$interleave(var_args){
var G__13048 = arguments.length;
switch (G__13048) {
case 0:
return cljs.core.interleave.cljs$core$IFn$_invoke$arity$0();
break;
case 1:
return cljs.core.interleave.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.interleave.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___13050 = arguments.length;
var i__10062__auto___13051 = (0);
while(true){
if((i__10062__auto___13051 < len__10061__auto___13050)){
args_arr__10084__auto__.push((arguments[i__10062__auto___13051]));
var G__13052 = (i__10062__auto___13051 + (1));
i__10062__auto___13051 = G__13052;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((2)),(0),null));
return cljs.core.interleave.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__10085__auto__);
}
});
cljs.core.interleave.cljs$core$IFn$_invoke$arity$0 = (function (){
return cljs.core.List.EMPTY;
});
cljs.core.interleave.cljs$core$IFn$_invoke$arity$1 = (function (c1){
return (new cljs.core.LazySeq(null,(function (){
return c1;
}),null,null));
});
cljs.core.interleave.cljs$core$IFn$_invoke$arity$2 = (function (c1,c2){
return (new cljs.core.LazySeq(null,(function (){
var s1 = cljs.core.seq(c1);
var s2 = cljs.core.seq(c2);
if((s1) && (s2)){
return cljs.core.cons(cljs.core.first(s1),cljs.core.cons(cljs.core.first(s2),cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(cljs.core.rest(s1),cljs.core.rest(s2))));
} else {
return null;
}
}),null,null));
});
cljs.core.interleave.cljs$core$IFn$_invoke$arity$variadic = (function (c1,c2,colls){
return (new cljs.core.LazySeq(null,(function (){
var ss = cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.seq,cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(colls,c2,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([c1], 0)));
if(cljs.core.every_QMARK_(cljs.core.identity,ss)){
return cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.first,ss),cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.interleave,cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.rest,ss)));
} else {
return null;
}
}),null,null));
});
cljs.core.interleave.cljs$lang$applyTo = (function (seq13045){
var G__13046 = cljs.core.first(seq13045);
var seq13045__$1 = cljs.core.next(seq13045);
var G__13047 = cljs.core.first(seq13045__$1);
var seq13045__$2 = cljs.core.next(seq13045__$1);
return cljs.core.interleave.cljs$core$IFn$_invoke$arity$variadic(G__13046,G__13047,seq13045__$2);
});
cljs.core.interleave.cljs$lang$maxFixedArity = (2);
/**
* Returns a lazy seq of the elements of coll separated by sep.
* Returns a stateful transducer when no collection is provided.
*/
cljs.core.interpose = (function cljs$core$interpose(var_args){
var G__13054 = arguments.length;
switch (G__13054) {
case 1:
return cljs.core.interpose.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.interpose.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.interpose.cljs$core$IFn$_invoke$arity$1 = (function (sep){
return (function (rf){
var started = cljs.core.volatile_BANG_(false);
return ((function (started){
return (function() {
var G__13056 = null;
var G__13056__0 = (function (){
return (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));
});
var G__13056__1 = (function (result){
return (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));
});
var G__13056__2 = (function (result,input){
if(cljs.core.truth_(cljs.core.deref(started))){
var sepr = (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,sep) : rf.call(null,result,sep));
if(cljs.core.reduced_QMARK_(sepr)){
return sepr;
} else {
return (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(sepr,input) : rf.call(null,sepr,input));
}
} else {
cljs.core.vreset_BANG_(started,true);
return (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));
}
});
G__13056 = function(result,input){
switch(arguments.length){
case 0:
return G__13056__0.call(this);
case 1:
return G__13056__1.call(this,result);
case 2:
return G__13056__2.call(this,result,input);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13056.cljs$core$IFn$_invoke$arity$0 = G__13056__0;
G__13056.cljs$core$IFn$_invoke$arity$1 = G__13056__1;
G__13056.cljs$core$IFn$_invoke$arity$2 = G__13056__2;
return G__13056;
})()
;})(started))
});
});
cljs.core.interpose.cljs$core$IFn$_invoke$arity$2 = (function (sep,coll){
return cljs.core.drop.cljs$core$IFn$_invoke$arity$2((1),cljs.core.interleave.cljs$core$IFn$_invoke$arity$2(cljs.core.repeat.cljs$core$IFn$_invoke$arity$1(sep),coll));
});
cljs.core.interpose.cljs$lang$maxFixedArity = 2;
/**
* Take a collection of collections, and return a lazy seq
* of items from the inner collection
*/
cljs.core.flatten1 = (function cljs$core$flatten1(colls){
var cat = (function cljs$core$flatten1_$_cat(coll,colls__$1){
return (new cljs.core.LazySeq(null,(function (){
var temp__5455__auto__ = cljs.core.seq(coll);
if(temp__5455__auto__){
var coll__$1 = temp__5455__auto__;
return cljs.core.cons(cljs.core.first(coll__$1),cljs$core$flatten1_$_cat(cljs.core.rest(coll__$1),colls__$1));
} else {
if(cljs.core.seq(colls__$1)){
return cljs$core$flatten1_$_cat(cljs.core.first(colls__$1),cljs.core.rest(colls__$1));
} else {
return null;
}
}
}),null,null));
});
return cat(null,colls);
});
/**
* Returns the result of applying concat to the result of applying map
* to f and colls. Thus function f should return a collection. Returns
* a transducer when no collections are provided
*/
cljs.core.mapcat = (function cljs$core$mapcat(var_args){
var G__13060 = arguments.length;
switch (G__13060) {
case 1:
return cljs.core.mapcat.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___13062 = arguments.length;
var i__10062__auto___13063 = (0);
while(true){
if((i__10062__auto___13063 < len__10061__auto___13062)){
args_arr__10084__auto__.push((arguments[i__10062__auto___13063]));
var G__13064 = (i__10062__auto___13063 + (1));
i__10062__auto___13063 = G__13064;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((1)),(0),null));
return cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__10085__auto__);
}
});
cljs.core.mapcat.cljs$core$IFn$_invoke$arity$1 = (function (f){
return cljs.core.comp.cljs$core$IFn$_invoke$arity$2(cljs.core.map.cljs$core$IFn$_invoke$arity$1(f),cljs.core.cat);
});
cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic = (function (f,colls){
return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.concat,cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.map,f,colls));
});
cljs.core.mapcat.cljs$lang$applyTo = (function (seq13058){
var G__13059 = cljs.core.first(seq13058);
var seq13058__$1 = cljs.core.next(seq13058);
return cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(G__13059,seq13058__$1);
});
cljs.core.mapcat.cljs$lang$maxFixedArity = (1);
/**
* Returns a lazy sequence of the items in coll for which
* (pred item) returns true. pred must be free of side-effects.
* Returns a transducer when no collection is provided.
*/
cljs.core.filter = (function cljs$core$filter(var_args){
var G__13066 = arguments.length;
switch (G__13066) {
case 1:
return cljs.core.filter.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.filter.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.filter.cljs$core$IFn$_invoke$arity$1 = (function (pred){
return (function (rf){
return (function() {
var G__13069 = null;
var G__13069__0 = (function (){
return (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));
});
var G__13069__1 = (function (result){
return (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));
});
var G__13069__2 = (function (result,input){
if(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(input) : pred.call(null,input)))){
return (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));
} else {
return result;
}
});
G__13069 = function(result,input){
switch(arguments.length){
case 0:
return G__13069__0.call(this);
case 1:
return G__13069__1.call(this,result);
case 2:
return G__13069__2.call(this,result,input);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13069.cljs$core$IFn$_invoke$arity$0 = G__13069__0;
G__13069.cljs$core$IFn$_invoke$arity$1 = G__13069__1;
G__13069.cljs$core$IFn$_invoke$arity$2 = G__13069__2;
return G__13069;
})()
});
});
cljs.core.filter.cljs$core$IFn$_invoke$arity$2 = (function (pred,coll){
return (new cljs.core.LazySeq(null,(function (){
var temp__5457__auto__ = cljs.core.seq(coll);
if(temp__5457__auto__){
var s = temp__5457__auto__;
if(cljs.core.chunked_seq_QMARK_(s)){
var c = cljs.core.chunk_first(s);
var size = cljs.core.count(c);
var b = cljs.core.chunk_buffer(size);
var n__9827__auto___13070 = size;
var i_13071 = (0);
while(true){
if((i_13071 < n__9827__auto___13070)){
if(cljs.core.truth_((function (){var G__13067 = cljs.core._nth.cljs$core$IFn$_invoke$arity$2(c,i_13071);
return (pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(G__13067) : pred.call(null,G__13067));
})())){
cljs.core.chunk_append(b,cljs.core._nth.cljs$core$IFn$_invoke$arity$2(c,i_13071));
} else {
}
var G__13072 = (i_13071 + (1));
i_13071 = G__13072;
continue;
} else {
}
break;
}
return cljs.core.chunk_cons(cljs.core.chunk(b),cljs.core.filter.cljs$core$IFn$_invoke$arity$2(pred,cljs.core.chunk_rest(s)));
} else {
var f = cljs.core.first(s);
var r = cljs.core.rest(s);
if(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(f) : pred.call(null,f)))){
return cljs.core.cons(f,cljs.core.filter.cljs$core$IFn$_invoke$arity$2(pred,r));
} else {
return cljs.core.filter.cljs$core$IFn$_invoke$arity$2(pred,r);
}
}
} else {
return null;
}
}),null,null));
});
cljs.core.filter.cljs$lang$maxFixedArity = 2;
/**
* Returns a lazy sequence of the items in coll for which
* (pred item) returns false. pred must be free of side-effects.
* Returns a transducer when no collection is provided.
*/
cljs.core.remove = (function cljs$core$remove(var_args){
var G__13074 = arguments.length;
switch (G__13074) {
case 1:
return cljs.core.remove.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.remove.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.remove.cljs$core$IFn$_invoke$arity$1 = (function (pred){
return cljs.core.filter.cljs$core$IFn$_invoke$arity$1(cljs.core.complement(pred));
});
cljs.core.remove.cljs$core$IFn$_invoke$arity$2 = (function (pred,coll){
return cljs.core.filter.cljs$core$IFn$_invoke$arity$2(cljs.core.complement(pred),coll);
});
cljs.core.remove.cljs$lang$maxFixedArity = 2;
/**
* Returns a lazy sequence of the nodes in a tree, via a depth-first walk.
* branch? must be a fn of one arg that returns true if passed a node
* that can have children (but may not). children must be a fn of one
* arg that returns a sequence of the children. Will only be called on
* nodes for which branch? returns true. Root is the root node of the
* tree.
*/
cljs.core.tree_seq = (function cljs$core$tree_seq(branch_QMARK_,children,root){
var walk = (function cljs$core$tree_seq_$_walk(node){
return (new cljs.core.LazySeq(null,(function (){
return cljs.core.cons(node,(cljs.core.truth_((branch_QMARK_.cljs$core$IFn$_invoke$arity$1 ? branch_QMARK_.cljs$core$IFn$_invoke$arity$1(node) : branch_QMARK_.call(null,node)))?cljs.core.mapcat.cljs$core$IFn$_invoke$arity$variadic(cljs$core$tree_seq_$_walk,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(children.cljs$core$IFn$_invoke$arity$1 ? children.cljs$core$IFn$_invoke$arity$1(node) : children.call(null,node))], 0)):null));
}),null,null));
});
return walk(root);
});
/**
* Takes any nested combination of sequential things (lists, vectors,
* etc.) and returns their contents as a single, flat sequence.
* (flatten nil) returns nil.
*/
cljs.core.flatten = (function cljs$core$flatten(x){
return cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (p1__13076_SHARP_){
return !(cljs.core.sequential_QMARK_(p1__13076_SHARP_));
}),cljs.core.rest(cljs.core.tree_seq(cljs.core.sequential_QMARK_,cljs.core.seq,x)));
});
/**
* Returns a new coll consisting of to-coll with all of the items of
* from-coll conjoined. A transducer may be supplied.
*/
cljs.core.into = (function cljs$core$into(var_args){
var G__13078 = arguments.length;
switch (G__13078) {
case 0:
return cljs.core.into.cljs$core$IFn$_invoke$arity$0();
break;
case 1:
return cljs.core.into.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.into.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.into.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.into.cljs$core$IFn$_invoke$arity$0 = (function (){
return cljs.core.PersistentVector.EMPTY;
});
cljs.core.into.cljs$core$IFn$_invoke$arity$1 = (function (to){
return to;
});
cljs.core.into.cljs$core$IFn$_invoke$arity$2 = (function (to,from){
if(!((to == null))){
if(((!((to == null)))?((((to.cljs$lang$protocol_mask$partition1$ & (4))) || ((cljs.core.PROTOCOL_SENTINEL === to.cljs$core$IEditableCollection$)))?true:false):false)){
return cljs.core._with_meta(cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj_BANG_,cljs.core.transient$(to),from)),cljs.core.meta(to));
} else {
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,to,from);
}
} else {
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.conj,cljs.core.List.EMPTY,from);
}
});
cljs.core.into.cljs$core$IFn$_invoke$arity$3 = (function (to,xform,from){
if(((!((to == null)))?((((to.cljs$lang$protocol_mask$partition1$ & (4))) || ((cljs.core.PROTOCOL_SENTINEL === to.cljs$core$IEditableCollection$)))?true:false):false)){
return cljs.core._with_meta(cljs.core.persistent_BANG_(cljs.core.transduce.cljs$core$IFn$_invoke$arity$4(xform,cljs.core.conj_BANG_,cljs.core.transient$(to),from)),cljs.core.meta(to));
} else {
return cljs.core.transduce.cljs$core$IFn$_invoke$arity$4(xform,cljs.core.conj,to,from);
}
});
cljs.core.into.cljs$lang$maxFixedArity = 3;
/**
* Returns a vector consisting of the result of applying f to the
* set of first items of each coll, followed by applying f to the set
* of second items in each coll, until any one of the colls is
* exhausted. Any remaining items in other colls are ignored. Function
* f should accept number-of-colls arguments.
*/
cljs.core.mapv = (function cljs$core$mapv(var_args){
var G__13088 = arguments.length;
switch (G__13088) {
case 2:
return cljs.core.mapv.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.mapv.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
case 4:
return cljs.core.mapv.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___13090 = arguments.length;
var i__10062__auto___13091 = (0);
while(true){
if((i__10062__auto___13091 < len__10061__auto___13090)){
args_arr__10084__auto__.push((arguments[i__10062__auto___13091]));
var G__13092 = (i__10062__auto___13091 + (1));
i__10062__auto___13091 = G__13092;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((4)),(0),null));
return cljs.core.mapv.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),argseq__10085__auto__);
}
});
cljs.core.mapv.cljs$core$IFn$_invoke$arity$2 = (function (f,coll){
return cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (v,o){
return cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(v,(f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(o) : f.call(null,o)));
}),cljs.core.transient$(cljs.core.PersistentVector.EMPTY),coll));
});
cljs.core.mapv.cljs$core$IFn$_invoke$arity$3 = (function (f,c1,c2){
return cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$3(f,c1,c2));
});
cljs.core.mapv.cljs$core$IFn$_invoke$arity$4 = (function (f,c1,c2,c3){
return cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$4(f,c1,c2,c3));
});
cljs.core.mapv.cljs$core$IFn$_invoke$arity$variadic = (function (f,c1,c2,c3,colls){
return cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentVector.EMPTY,cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(cljs.core.map,f,c1,c2,c3,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([colls], 0)));
});
cljs.core.mapv.cljs$lang$applyTo = (function (seq13083){
var G__13084 = cljs.core.first(seq13083);
var seq13083__$1 = cljs.core.next(seq13083);
var G__13085 = cljs.core.first(seq13083__$1);
var seq13083__$2 = cljs.core.next(seq13083__$1);
var G__13086 = cljs.core.first(seq13083__$2);
var seq13083__$3 = cljs.core.next(seq13083__$2);
var G__13087 = cljs.core.first(seq13083__$3);
var seq13083__$4 = cljs.core.next(seq13083__$3);
return cljs.core.mapv.cljs$core$IFn$_invoke$arity$variadic(G__13084,G__13085,G__13086,G__13087,seq13083__$4);
});
cljs.core.mapv.cljs$lang$maxFixedArity = (4);
/**
* Returns a vector of the items in coll for which
* (pred item) returns true. pred must be free of side-effects.
*/
cljs.core.filterv = (function cljs$core$filterv(pred,coll){
return cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (v,o){
if(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(o) : pred.call(null,o)))){
return cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(v,o);
} else {
return v;
}
}),cljs.core.transient$(cljs.core.PersistentVector.EMPTY),coll));
});
/**
* Returns a lazy sequence of lists of n items each, at offsets step
* apart. If step is not supplied, defaults to n, i.e. the partitions
* do not overlap. If a pad collection is supplied, use its elements as
* necessary to complete last partition up to n items. In case there are
* not enough padding elements, return a partition with less than n items.
*/
cljs.core.partition = (function cljs$core$partition(var_args){
var G__13094 = arguments.length;
switch (G__13094) {
case 2:
return cljs.core.partition.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.partition.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
case 4:
return cljs.core.partition.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.partition.cljs$core$IFn$_invoke$arity$2 = (function (n,coll){
return cljs.core.partition.cljs$core$IFn$_invoke$arity$3(n,n,coll);
});
cljs.core.partition.cljs$core$IFn$_invoke$arity$3 = (function (n,step,coll){
return (new cljs.core.LazySeq(null,(function (){
var temp__5457__auto__ = cljs.core.seq(coll);
if(temp__5457__auto__){
var s = temp__5457__auto__;
var p = cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,s);
if((n === cljs.core.count(p))){
return cljs.core.cons(p,cljs.core.partition.cljs$core$IFn$_invoke$arity$3(n,step,cljs.core.drop.cljs$core$IFn$_invoke$arity$2(step,s)));
} else {
return null;
}
} else {
return null;
}
}),null,null));
});
cljs.core.partition.cljs$core$IFn$_invoke$arity$4 = (function (n,step,pad,coll){
return (new cljs.core.LazySeq(null,(function (){
var temp__5457__auto__ = cljs.core.seq(coll);
if(temp__5457__auto__){
var s = temp__5457__auto__;
var p = cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,s);
if((n === cljs.core.count(p))){
return cljs.core.cons(p,cljs.core.partition.cljs$core$IFn$_invoke$arity$4(n,step,pad,cljs.core.drop.cljs$core$IFn$_invoke$arity$2(step,s)));
} else {
var x__9736__auto__ = cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,cljs.core.concat.cljs$core$IFn$_invoke$arity$2(p,pad));
return cljs.core._conj(cljs.core.List.EMPTY,x__9736__auto__);
}
} else {
return null;
}
}),null,null));
});
cljs.core.partition.cljs$lang$maxFixedArity = 4;
/**
* Returns the value in a nested associative structure,
* where ks is a sequence of keys. Returns nil if the key is not present,
* or the not-found value if supplied.
*/
cljs.core.get_in = (function cljs$core$get_in(var_args){
var G__13097 = arguments.length;
switch (G__13097) {
case 2:
return cljs.core.get_in.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.get_in.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.get_in.cljs$core$IFn$_invoke$arity$2 = (function (m,ks){
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.get,m,ks);
});
cljs.core.get_in.cljs$core$IFn$_invoke$arity$3 = (function (m,ks,not_found){
var sentinel = cljs.core.lookup_sentinel;
var m__$1 = m;
var ks__$1 = cljs.core.seq(ks);
while(true){
if(!((ks__$1 == null))){
var m__$2 = cljs.core.get.cljs$core$IFn$_invoke$arity$3(m__$1,cljs.core.first(ks__$1),sentinel);
if((sentinel === m__$2)){
return not_found;
} else {
var G__13099 = sentinel;
var G__13100 = m__$2;
var G__13101 = cljs.core.next(ks__$1);
sentinel = G__13099;
m__$1 = G__13100;
ks__$1 = G__13101;
continue;
}
} else {
return m__$1;
}
break;
}
});
cljs.core.get_in.cljs$lang$maxFixedArity = 3;
/**
* Associates a value in a nested associative structure, where ks is a
* sequence of keys and v is the new value and returns a new nested structure.
* If any levels do not exist, hash-maps will be created.
*/
cljs.core.assoc_in = (function cljs$core$assoc_in(m,p__13102,v){
var vec__13103 = p__13102;
var seq__13104 = cljs.core.seq(vec__13103);
var first__13105 = cljs.core.first(seq__13104);
var seq__13104__$1 = cljs.core.next(seq__13104);
var k = first__13105;
var ks = seq__13104__$1;
if(ks){
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__13106 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);
var G__13107 = ks;
var G__13108 = v;
return (cljs.core.assoc_in.cljs$core$IFn$_invoke$arity$3 ? cljs.core.assoc_in.cljs$core$IFn$_invoke$arity$3(G__13106,G__13107,G__13108) : cljs.core.assoc_in.call(null,G__13106,G__13107,G__13108));
})());
} else {
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,v);
}
});
/**
* 'Updates' a value in a nested associative structure, where ks is a
* sequence of keys and f is a function that will take the old value
* and any supplied args and return the new value, and returns a new
* nested structure. If any levels do not exist, hash-maps will be
* created.
*/
cljs.core.update_in = (function cljs$core$update_in(var_args){
var G__13117 = arguments.length;
switch (G__13117) {
case 3:
return cljs.core.update_in.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
case 4:
return cljs.core.update_in.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));
break;
case 5:
return cljs.core.update_in.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));
break;
case 6:
return cljs.core.update_in.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___13149 = arguments.length;
var i__10062__auto___13150 = (0);
while(true){
if((i__10062__auto___13150 < len__10061__auto___13149)){
args_arr__10084__auto__.push((arguments[i__10062__auto___13150]));
var G__13151 = (i__10062__auto___13150 + (1));
i__10062__auto___13150 = G__13151;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((6)),(0),null));
return cljs.core.update_in.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),argseq__10085__auto__);
}
});
cljs.core.update_in.cljs$core$IFn$_invoke$arity$3 = (function (m,p__13118,f){
var vec__13119 = p__13118;
var seq__13120 = cljs.core.seq(vec__13119);
var first__13121 = cljs.core.first(seq__13120);
var seq__13120__$1 = cljs.core.next(seq__13120);
var k = first__13121;
var ks = seq__13120__$1;
if(ks){
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,cljs.core.update_in.cljs$core$IFn$_invoke$arity$3(cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k),ks,f));
} else {
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__13122 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);
return (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__13122) : f.call(null,G__13122));
})());
}
});
cljs.core.update_in.cljs$core$IFn$_invoke$arity$4 = (function (m,p__13123,f,a){
var vec__13124 = p__13123;
var seq__13125 = cljs.core.seq(vec__13124);
var first__13126 = cljs.core.first(seq__13125);
var seq__13125__$1 = cljs.core.next(seq__13125);
var k = first__13126;
var ks = seq__13125__$1;
if(ks){
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,cljs.core.update_in.cljs$core$IFn$_invoke$arity$4(cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k),ks,f,a));
} else {
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__13127 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);
var G__13128 = a;
return (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__13127,G__13128) : f.call(null,G__13127,G__13128));
})());
}
});
cljs.core.update_in.cljs$core$IFn$_invoke$arity$5 = (function (m,p__13129,f,a,b){
var vec__13130 = p__13129;
var seq__13131 = cljs.core.seq(vec__13130);
var first__13132 = cljs.core.first(seq__13131);
var seq__13131__$1 = cljs.core.next(seq__13131);
var k = first__13132;
var ks = seq__13131__$1;
if(ks){
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,cljs.core.update_in.cljs$core$IFn$_invoke$arity$5(cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k),ks,f,a,b));
} else {
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__13133 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);
var G__13134 = a;
var G__13135 = b;
return (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__13133,G__13134,G__13135) : f.call(null,G__13133,G__13134,G__13135));
})());
}
});
cljs.core.update_in.cljs$core$IFn$_invoke$arity$6 = (function (m,p__13136,f,a,b,c){
var vec__13137 = p__13136;
var seq__13138 = cljs.core.seq(vec__13137);
var first__13139 = cljs.core.first(seq__13138);
var seq__13138__$1 = cljs.core.next(seq__13138);
var k = first__13139;
var ks = seq__13138__$1;
if(ks){
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,cljs.core.update_in.cljs$core$IFn$_invoke$arity$6(cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k),ks,f,a,b,c));
} else {
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__13140 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);
var G__13141 = a;
var G__13142 = b;
var G__13143 = c;
return (f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(G__13140,G__13141,G__13142,G__13143) : f.call(null,G__13140,G__13141,G__13142,G__13143));
})());
}
});
cljs.core.update_in.cljs$core$IFn$_invoke$arity$variadic = (function (m,p__13144,f,a,b,c,args){
var vec__13145 = p__13144;
var seq__13146 = cljs.core.seq(vec__13145);
var first__13147 = cljs.core.first(seq__13146);
var seq__13146__$1 = cljs.core.next(seq__13146);
var k = first__13147;
var ks = seq__13146__$1;
if(ks){
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(cljs.core.update_in,cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k),ks,f,a,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([b,c,args], 0)));
} else {
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(f,cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k),a,b,c,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([args], 0)));
}
});
cljs.core.update_in.cljs$lang$applyTo = (function (seq13110){
var G__13111 = cljs.core.first(seq13110);
var seq13110__$1 = cljs.core.next(seq13110);
var G__13112 = cljs.core.first(seq13110__$1);
var seq13110__$2 = cljs.core.next(seq13110__$1);
var G__13113 = cljs.core.first(seq13110__$2);
var seq13110__$3 = cljs.core.next(seq13110__$2);
var G__13114 = cljs.core.first(seq13110__$3);
var seq13110__$4 = cljs.core.next(seq13110__$3);
var G__13115 = cljs.core.first(seq13110__$4);
var seq13110__$5 = cljs.core.next(seq13110__$4);
var G__13116 = cljs.core.first(seq13110__$5);
var seq13110__$6 = cljs.core.next(seq13110__$5);
return cljs.core.update_in.cljs$core$IFn$_invoke$arity$variadic(G__13111,G__13112,G__13113,G__13114,G__13115,G__13116,seq13110__$6);
});
cljs.core.update_in.cljs$lang$maxFixedArity = (6);
/**
* 'Updates' a value in an associative structure, where k is a
* key and f is a function that will take the old value
* and any supplied args and return the new value, and returns a new
* structure. If the key does not exist, nil is passed as the old value.
*/
cljs.core.update = (function cljs$core$update(var_args){
var G__13160 = arguments.length;
switch (G__13160) {
case 3:
return cljs.core.update.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
case 4:
return cljs.core.update.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));
break;
case 5:
return cljs.core.update.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));
break;
case 6:
return cljs.core.update.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___13172 = arguments.length;
var i__10062__auto___13173 = (0);
while(true){
if((i__10062__auto___13173 < len__10061__auto___13172)){
args_arr__10084__auto__.push((arguments[i__10062__auto___13173]));
var G__13174 = (i__10062__auto___13173 + (1));
i__10062__auto___13173 = G__13174;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((6)),(0),null));
return cljs.core.update.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),argseq__10085__auto__);
}
});
cljs.core.update.cljs$core$IFn$_invoke$arity$3 = (function (m,k,f){
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__13161 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);
return (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__13161) : f.call(null,G__13161));
})());
});
cljs.core.update.cljs$core$IFn$_invoke$arity$4 = (function (m,k,f,x){
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__13162 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);
var G__13163 = x;
return (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__13162,G__13163) : f.call(null,G__13162,G__13163));
})());
});
cljs.core.update.cljs$core$IFn$_invoke$arity$5 = (function (m,k,f,x,y){
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__13164 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);
var G__13165 = x;
var G__13166 = y;
return (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__13164,G__13165,G__13166) : f.call(null,G__13164,G__13165,G__13166));
})());
});
cljs.core.update.cljs$core$IFn$_invoke$arity$6 = (function (m,k,f,x,y,z){
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__13167 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);
var G__13168 = x;
var G__13169 = y;
var G__13170 = z;
return (f.cljs$core$IFn$_invoke$arity$4 ? f.cljs$core$IFn$_invoke$arity$4(G__13167,G__13168,G__13169,G__13170) : f.call(null,G__13167,G__13168,G__13169,G__13170));
})());
});
cljs.core.update.cljs$core$IFn$_invoke$arity$variadic = (function (m,k,f,x,y,z,more){
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(f,cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k),x,y,z,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([more], 0)));
});
cljs.core.update.cljs$lang$applyTo = (function (seq13153){
var G__13154 = cljs.core.first(seq13153);
var seq13153__$1 = cljs.core.next(seq13153);
var G__13155 = cljs.core.first(seq13153__$1);
var seq13153__$2 = cljs.core.next(seq13153__$1);
var G__13156 = cljs.core.first(seq13153__$2);
var seq13153__$3 = cljs.core.next(seq13153__$2);
var G__13157 = cljs.core.first(seq13153__$3);
var seq13153__$4 = cljs.core.next(seq13153__$3);
var G__13158 = cljs.core.first(seq13153__$4);
var seq13153__$5 = cljs.core.next(seq13153__$4);
var G__13159 = cljs.core.first(seq13153__$5);
var seq13153__$6 = cljs.core.next(seq13153__$5);
return cljs.core.update.cljs$core$IFn$_invoke$arity$variadic(G__13154,G__13155,G__13156,G__13157,G__13158,G__13159,seq13153__$6);
});
cljs.core.update.cljs$lang$maxFixedArity = (6);
/**
* @constructor
*/
cljs.core.VectorNode = (function (edit,arr){
this.edit = edit;
this.arr = arr;
});
cljs.core.VectorNode.getBasis = (function (){
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$edit,cljs.core.cst$sym$arr], null);
});
cljs.core.VectorNode.cljs$lang$type = true;
cljs.core.VectorNode.cljs$lang$ctorStr = "cljs.core/VectorNode";
cljs.core.VectorNode.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/VectorNode");
});
cljs.core.__GT_VectorNode = (function cljs$core$__GT_VectorNode(edit,arr){
return (new cljs.core.VectorNode(edit,arr));
});
cljs.core.pv_fresh_node = (function cljs$core$pv_fresh_node(edit){
return (new cljs.core.VectorNode(edit,[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]));
});
cljs.core.pv_aget = (function cljs$core$pv_aget(node,idx){
return (node.arr[idx]);
});
cljs.core.pv_aset = (function cljs$core$pv_aset(node,idx,val){
return (node.arr[idx] = val);
});
cljs.core.pv_clone_node = (function cljs$core$pv_clone_node(node){
return (new cljs.core.VectorNode(node.edit,cljs.core.aclone(node.arr)));
});
cljs.core.tail_off = (function cljs$core$tail_off(pv){
var cnt = pv.cnt;
if((cnt < (32))){
return (0);
} else {
return (((cnt - (1)) >>> (5)) << (5));
}
});
cljs.core.new_path = (function cljs$core$new_path(edit,level,node){
var ll = level;
var ret = node;
while(true){
if((ll === (0))){
return ret;
} else {
var embed = ret;
var r = cljs.core.pv_fresh_node(edit);
var _ = cljs.core.pv_aset(r,(0),embed);
var G__13175 = (ll - (5));
var G__13176 = r;
ll = G__13175;
ret = G__13176;
continue;
}
break;
}
});
cljs.core.push_tail = (function cljs$core$push_tail(pv,level,parent,tailnode){
var ret = cljs.core.pv_clone_node(parent);
var subidx = (((pv.cnt - (1)) >>> level) & (31));
if(((5) === level)){
cljs.core.pv_aset(ret,subidx,tailnode);
return ret;
} else {
var child = cljs.core.pv_aget(parent,subidx);
if(!((child == null))){
var node_to_insert = (function (){var G__13177 = pv;
var G__13178 = (level - (5));
var G__13179 = child;
var G__13180 = tailnode;
return (cljs.core.push_tail.cljs$core$IFn$_invoke$arity$4 ? cljs.core.push_tail.cljs$core$IFn$_invoke$arity$4(G__13177,G__13178,G__13179,G__13180) : cljs.core.push_tail.call(null,G__13177,G__13178,G__13179,G__13180));
})();
cljs.core.pv_aset(ret,subidx,node_to_insert);
return ret;
} else {
var node_to_insert = cljs.core.new_path(null,(level - (5)),tailnode);
cljs.core.pv_aset(ret,subidx,node_to_insert);
return ret;
}
}
});
cljs.core.vector_index_out_of_bounds = (function cljs$core$vector_index_out_of_bounds(i,cnt){
throw (new Error(["No item ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(i)," in vector of length ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cnt)].join('')));
});
cljs.core.first_array_for_longvec = (function cljs$core$first_array_for_longvec(pv){
var node = pv.root;
var level = pv.shift;
while(true){
if((level > (0))){
var G__13181 = cljs.core.pv_aget(node,(0));
var G__13182 = (level - (5));
node = G__13181;
level = G__13182;
continue;
} else {
return node.arr;
}
break;
}
});
cljs.core.unchecked_array_for = (function cljs$core$unchecked_array_for(pv,i){
if((i >= cljs.core.tail_off(pv))){
return pv.tail;
} else {
var node = pv.root;
var level = pv.shift;
while(true){
if((level > (0))){
var G__13183 = cljs.core.pv_aget(node,((i >>> level) & (31)));
var G__13184 = (level - (5));
node = G__13183;
level = G__13184;
continue;
} else {
return node.arr;
}
break;
}
}
});
cljs.core.array_for = (function cljs$core$array_for(pv,i){
if((((0) <= i)) && ((i < pv.cnt))){
return cljs.core.unchecked_array_for(pv,i);
} else {
return cljs.core.vector_index_out_of_bounds(i,pv.cnt);
}
});
cljs.core.do_assoc = (function cljs$core$do_assoc(pv,level,node,i,val){
var ret = cljs.core.pv_clone_node(node);
if((level === (0))){
cljs.core.pv_aset(ret,(i & (31)),val);
return ret;
} else {
var subidx = ((i >>> level) & (31));
cljs.core.pv_aset(ret,subidx,(function (){var G__13185 = pv;
var G__13186 = (level - (5));
var G__13187 = cljs.core.pv_aget(node,subidx);
var G__13188 = i;
var G__13189 = val;
return (cljs.core.do_assoc.cljs$core$IFn$_invoke$arity$5 ? cljs.core.do_assoc.cljs$core$IFn$_invoke$arity$5(G__13185,G__13186,G__13187,G__13188,G__13189) : cljs.core.do_assoc.call(null,G__13185,G__13186,G__13187,G__13188,G__13189));
})());
return ret;
}
});
cljs.core.pop_tail = (function cljs$core$pop_tail(pv,level,node){
var subidx = (((pv.cnt - (2)) >>> level) & (31));
if((level > (5))){
var new_child = (function (){var G__13190 = pv;
var G__13191 = (level - (5));
var G__13192 = cljs.core.pv_aget(node,subidx);
return (cljs.core.pop_tail.cljs$core$IFn$_invoke$arity$3 ? cljs.core.pop_tail.cljs$core$IFn$_invoke$arity$3(G__13190,G__13191,G__13192) : cljs.core.pop_tail.call(null,G__13190,G__13191,G__13192));
})();
if(((new_child == null)) && ((subidx === (0)))){
return null;
} else {
var ret = cljs.core.pv_clone_node(node);
cljs.core.pv_aset(ret,subidx,new_child);
return ret;
}
} else {
if((subidx === (0))){
return null;
} else {
var ret = cljs.core.pv_clone_node(node);
cljs.core.pv_aset(ret,subidx,null);
return ret;
}
}
});
/**
* @constructor
*/
cljs.core.RangedIterator = (function (i,base,arr,v,start,end){
this.i = i;
this.base = base;
this.arr = arr;
this.v = v;
this.start = start;
this.end = end;
});
cljs.core.RangedIterator.prototype.hasNext = (function (){
var self__ = this;
var this$ = this;
return (self__.i < self__.end);
});
cljs.core.RangedIterator.prototype.next = (function (){
var self__ = this;
var this$ = this;
if(((self__.i - self__.base) === (32))){
self__.arr = cljs.core.unchecked_array_for(self__.v,self__.i);
self__.base = (self__.base + (32));
} else {
}
var ret = (self__.arr[(self__.i & (31))]);
self__.i = (self__.i + (1));
return ret;
});
cljs.core.RangedIterator.getBasis = (function (){
return new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(cljs.core.cst$sym$i,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null)),cljs.core.with_meta(cljs.core.cst$sym$base,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null)),cljs.core.with_meta(cljs.core.cst$sym$arr,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null)),cljs.core.cst$sym$v,cljs.core.cst$sym$start,cljs.core.cst$sym$end], null);
});
cljs.core.RangedIterator.cljs$lang$type = true;
cljs.core.RangedIterator.cljs$lang$ctorStr = "cljs.core/RangedIterator";
cljs.core.RangedIterator.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/RangedIterator");
});
cljs.core.__GT_RangedIterator = (function cljs$core$__GT_RangedIterator(i,base,arr,v,start,end){
return (new cljs.core.RangedIterator(i,base,arr,v,start,end));
});
cljs.core.ranged_iterator = (function cljs$core$ranged_iterator(v,start,end){
var i = start;
return (new cljs.core.RangedIterator(i,(i - (i % (32))),(((start < cljs.core.count(v)))?cljs.core.unchecked_array_for(v,i):null),v,start,end));
});
cljs.core.pv_reduce = (function cljs$core$pv_reduce(var_args){
var G__13194 = arguments.length;
switch (G__13194) {
case 4:
return cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));
break;
case 5:
return cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$4 = (function (pv,f,start,end){
if((start < end)){
return cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$5(pv,f,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(pv,start),(start + (1)),end);
} else {
return (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));
}
});
cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$5 = (function (pv,f,init,start,end){
var acc = init;
var i = start;
var arr = cljs.core.unchecked_array_for(pv,start);
while(true){
if((i < end)){
var j = (i & (31));
var arr__$1 = (((j === (0)))?cljs.core.unchecked_array_for(pv,i):arr);
var nacc = (function (){var G__13195 = acc;
var G__13196 = (arr__$1[j]);
return (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__13195,G__13196) : f.call(null,G__13195,G__13196));
})();
if(cljs.core.reduced_QMARK_(nacc)){
return cljs.core.deref(nacc);
} else {
var G__13198 = nacc;
var G__13199 = (i + (1));
var G__13200 = arr__$1;
acc = G__13198;
i = G__13199;
arr = G__13200;
continue;
}
} else {
return acc;
}
break;
}
});
cljs.core.pv_reduce.cljs$lang$maxFixedArity = 5;
/**
* Marker protocol
* @interface
*/
cljs.core.APersistentVector = function(){};
/**
* @constructor
* @implements {cljs.core.APersistentVector}
* @implements {cljs.core.IIndexed}
* @implements {cljs.core.IVector}
* @implements {cljs.core.IReversible}
* @implements {cljs.core.IKVReduce}
* @implements {cljs.core.IEquiv}
* @implements {cljs.core.IHash}
* @implements {cljs.core.IFn}
* @implements {cljs.core.ICollection}
* @implements {cljs.core.IEditableCollection}
* @implements {cljs.core.IFind}
* @implements {cljs.core.IEmptyableCollection}
* @implements {cljs.core.ICounted}
* @implements {cljs.core.ISeqable}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.ICloneable}
* @implements {cljs.core.IStack}
* @implements {cljs.core.IMapEntry}
* @implements {cljs.core.IIterable}
* @implements {cljs.core.ISequential}
* @implements {cljs.core.IWithMeta}
* @implements {cljs.core.IAssociative}
* @implements {cljs.core.ILookup}
* @implements {cljs.core.IReduce}
*/
cljs.core.PersistentVector = (function (meta,cnt,shift,root,tail,__hash){
this.meta = meta;
this.cnt = cnt;
this.shift = shift;
this.root = root;
this.tail = tail;
this.__hash = __hash;
this.cljs$lang$protocol_mask$partition0$ = 167668511;
this.cljs$lang$protocol_mask$partition1$ = 139268;
});
cljs.core.PersistentVector.prototype.cljs$core$IFind$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentVector.prototype.cljs$core$IFind$_find$arity$2 = (function (coll,n){
var self__ = this;
var coll__$1 = this;
if((((0) <= n)) && ((n < self__.cnt))){
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [n,(cljs.core.unchecked_array_for(coll__$1,n)[(n & (31))])], null);
} else {
return null;
}
});
cljs.core.PersistentVector.prototype.toString = (function (){
var self__ = this;
var coll = this;
return cljs.core.pr_str_STAR_(coll);
});
cljs.core.PersistentVector.prototype.equiv = (function (other){
var self__ = this;
var this$ = this;
return this$.cljs$core$IEquiv$_equiv$arity$2(null,other);
});
cljs.core.PersistentVector.prototype.indexOf = (function() {
var G__13207 = null;
var G__13207__1 = (function (x){
var self__ = this;
var coll = this;
return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));
});
var G__13207__2 = (function (x,start){
var self__ = this;
var coll = this;
return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);
});
G__13207 = function(x,start){
switch(arguments.length){
case 1:
return G__13207__1.call(this,x);
case 2:
return G__13207__2.call(this,x,start);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13207.cljs$core$IFn$_invoke$arity$1 = G__13207__1;
G__13207.cljs$core$IFn$_invoke$arity$2 = G__13207__2;
return G__13207;
})()
;
cljs.core.PersistentVector.prototype.lastIndexOf = (function() {
var G__13208 = null;
var G__13208__1 = (function (x){
var self__ = this;
var coll = this;
return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));
});
var G__13208__2 = (function (x,start){
var self__ = this;
var coll = this;
return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);
});
G__13208 = function(x,start){
switch(arguments.length){
case 1:
return G__13208__1.call(this,x);
case 2:
return G__13208__2.call(this,x,start);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13208.cljs$core$IFn$_invoke$arity$1 = G__13208__1;
G__13208.cljs$core$IFn$_invoke$arity$2 = G__13208__2;
return G__13208;
})()
;
cljs.core.PersistentVector.prototype.cljs$core$ILookup$_lookup$arity$2 = (function (coll,k){
var self__ = this;
var coll__$1 = this;
return coll__$1.cljs$core$ILookup$_lookup$arity$3(null,k,null);
});
cljs.core.PersistentVector.prototype.cljs$core$ILookup$_lookup$arity$3 = (function (coll,k,not_found){
var self__ = this;
var coll__$1 = this;
if(typeof k === 'number'){
return coll__$1.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);
} else {
return not_found;
}
});
cljs.core.PersistentVector.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 = (function (v,f,init){
var self__ = this;
var v__$1 = this;
var i = (0);
var init__$1 = init;
while(true){
if((i < self__.cnt)){
var arr = cljs.core.unchecked_array_for(v__$1,i);
var len = arr.length;
var init__$2 = (function (){var j = (0);
var init__$2 = init__$1;
while(true){
if((j < len)){
var init__$3 = (function (){var G__13202 = init__$2;
var G__13203 = (j + i);
var G__13204 = (arr[j]);
return (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__13202,G__13203,G__13204) : f.call(null,G__13202,G__13203,G__13204));
})();
if(cljs.core.reduced_QMARK_(init__$3)){
return init__$3;
} else {
var G__13209 = (j + (1));
var G__13210 = init__$3;
j = G__13209;
init__$2 = G__13210;
continue;
}
} else {
return init__$2;
}
break;
}
})();
if(cljs.core.reduced_QMARK_(init__$2)){
return cljs.core.deref(init__$2);
} else {
var G__13211 = (i + len);
var G__13212 = init__$2;
i = G__13211;
init__$1 = G__13212;
continue;
}
} else {
return init__$1;
}
break;
}
});
cljs.core.PersistentVector.prototype.cljs$core$APersistentVector$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentVector.prototype.cljs$core$IIndexed$_nth$arity$2 = (function (coll,n){
var self__ = this;
var coll__$1 = this;
return (cljs.core.array_for(coll__$1,n)[(n & (31))]);
});
cljs.core.PersistentVector.prototype.cljs$core$IIndexed$_nth$arity$3 = (function (coll,n,not_found){
var self__ = this;
var coll__$1 = this;
if((((0) <= n)) && ((n < self__.cnt))){
return (cljs.core.unchecked_array_for(coll__$1,n)[(n & (31))]);
} else {
return not_found;
}
});
cljs.core.PersistentVector.prototype.cljs$core$IVector$_assoc_n$arity$3 = (function (coll,n,val){
var self__ = this;
var coll__$1 = this;
if((((0) <= n)) && ((n < self__.cnt))){
if((cljs.core.tail_off(coll__$1) <= n)){
var new_tail = cljs.core.aclone(self__.tail);
(new_tail[(n & (31))] = val);
return (new cljs.core.PersistentVector(self__.meta,self__.cnt,self__.shift,self__.root,new_tail,null));
} else {
return (new cljs.core.PersistentVector(self__.meta,self__.cnt,self__.shift,cljs.core.do_assoc(coll__$1,self__.shift,self__.root,n,val),self__.tail,null));
}
} else {
if((n === self__.cnt)){
return coll__$1.cljs$core$ICollection$_conj$arity$2(null,val);
} else {
throw (new Error(["Index ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(n)," out of bounds [0,",cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.cnt),"]"].join('')));
}
}
});
cljs.core.PersistentVector.prototype.cljs$core$IIterable$_iterator$arity$1 = (function (this$){
var self__ = this;
var this$__$1 = this;
return cljs.core.ranged_iterator(this$__$1,(0),self__.cnt);
});
cljs.core.PersistentVector.prototype.cljs$core$IMeta$_meta$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return self__.meta;
});
cljs.core.PersistentVector.prototype.cljs$core$ICloneable$_clone$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return (new cljs.core.PersistentVector(self__.meta,self__.cnt,self__.shift,self__.root,self__.tail,self__.__hash));
});
cljs.core.PersistentVector.prototype.cljs$core$ICounted$_count$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return self__.cnt;
});
cljs.core.PersistentVector.prototype.cljs$core$IMapEntry$_key$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return coll__$1.cljs$core$IIndexed$_nth$arity$2(null,(0));
});
cljs.core.PersistentVector.prototype.cljs$core$IMapEntry$_val$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return coll__$1.cljs$core$IIndexed$_nth$arity$2(null,(1));
});
cljs.core.PersistentVector.prototype.cljs$core$IStack$_peek$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
if((self__.cnt > (0))){
return coll__$1.cljs$core$IIndexed$_nth$arity$2(null,(self__.cnt - (1)));
} else {
return null;
}
});
cljs.core.PersistentVector.prototype.cljs$core$IStack$_pop$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
if((self__.cnt === (0))){
throw (new Error("Can't pop empty vector"));
} else {
if(((1) === self__.cnt)){
return cljs.core._with_meta(cljs.core.PersistentVector.EMPTY,self__.meta);
} else {
if(((1) < (self__.cnt - cljs.core.tail_off(coll__$1)))){
return (new cljs.core.PersistentVector(self__.meta,(self__.cnt - (1)),self__.shift,self__.root,self__.tail.slice((0),(-1)),null));
} else {
var new_tail = cljs.core.unchecked_array_for(coll__$1,(self__.cnt - (2)));
var nr = cljs.core.pop_tail(coll__$1,self__.shift,self__.root);
var new_root = (((nr == null))?cljs.core.PersistentVector.EMPTY_NODE:nr);
var cnt_1 = (self__.cnt - (1));
if((((5) < self__.shift)) && ((cljs.core.pv_aget(new_root,(1)) == null))){
return (new cljs.core.PersistentVector(self__.meta,cnt_1,(self__.shift - (5)),cljs.core.pv_aget(new_root,(0)),new_tail,null));
} else {
return (new cljs.core.PersistentVector(self__.meta,cnt_1,self__.shift,new_root,new_tail,null));
}
}
}
}
});
cljs.core.PersistentVector.prototype.cljs$core$IReversible$_rseq$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
if((self__.cnt > (0))){
return (new cljs.core.RSeq(coll__$1,(self__.cnt - (1)),null));
} else {
return null;
}
});
cljs.core.PersistentVector.prototype.cljs$core$IHash$_hash$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
var h__9238__auto__ = self__.__hash;
if(!((h__9238__auto__ == null))){
return h__9238__auto__;
} else {
var h__9238__auto____$1 = cljs.core.hash_ordered_coll(coll__$1);
self__.__hash = h__9238__auto____$1;
return h__9238__auto____$1;
}
});
cljs.core.PersistentVector.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (coll,other){
var self__ = this;
var coll__$1 = this;
if((other instanceof cljs.core.PersistentVector)){
if((self__.cnt === cljs.core.count(other))){
var me_iter = coll__$1.cljs$core$IIterable$_iterator$arity$1(null);
var you_iter = cljs.core._iterator(other);
while(true){
if(me_iter.hasNext()){
var x = me_iter.next();
var y = you_iter.next();
if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(x,y)){
continue;
} else {
return false;
}
} else {
return true;
}
break;
}
} else {
return false;
}
} else {
return cljs.core.equiv_sequential(coll__$1,other);
}
});
cljs.core.PersistentVector.prototype.cljs$core$IEditableCollection$_as_transient$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return (new cljs.core.TransientVector(self__.cnt,self__.shift,cljs.core.tv_editable_root(self__.root),cljs.core.tv_editable_tail(self__.tail)));
});
cljs.core.PersistentVector.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return cljs.core._with_meta(cljs.core.PersistentVector.EMPTY,self__.meta);
});
cljs.core.PersistentVector.prototype.cljs$core$IReduce$_reduce$arity$2 = (function (v,f){
var self__ = this;
var v__$1 = this;
return cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$4(v__$1,f,(0),self__.cnt);
});
cljs.core.PersistentVector.prototype.cljs$core$IReduce$_reduce$arity$3 = (function (v,f,init){
var self__ = this;
var v__$1 = this;
var i = (0);
var init__$1 = init;
while(true){
if((i < self__.cnt)){
var arr = cljs.core.unchecked_array_for(v__$1,i);
var len = arr.length;
var init__$2 = (function (){var j = (0);
var init__$2 = init__$1;
while(true){
if((j < len)){
var init__$3 = (function (){var G__13205 = init__$2;
var G__13206 = (arr[j]);
return (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__13205,G__13206) : f.call(null,G__13205,G__13206));
})();
if(cljs.core.reduced_QMARK_(init__$3)){
return init__$3;
} else {
var G__13213 = (j + (1));
var G__13214 = init__$3;
j = G__13213;
init__$2 = G__13214;
continue;
}
} else {
return init__$2;
}
break;
}
})();
if(cljs.core.reduced_QMARK_(init__$2)){
return cljs.core.deref(init__$2);
} else {
var G__13215 = (i + len);
var G__13216 = init__$2;
i = G__13215;
init__$1 = G__13216;
continue;
}
} else {
return init__$1;
}
break;
}
});
cljs.core.PersistentVector.prototype.cljs$core$IAssociative$_assoc$arity$3 = (function (coll,k,v){
var self__ = this;
var coll__$1 = this;
if(typeof k === 'number'){
return coll__$1.cljs$core$IVector$_assoc_n$arity$3(null,k,v);
} else {
throw (new Error("Vector's key for assoc must be a number."));
}
});
cljs.core.PersistentVector.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 = (function (coll,k){
var self__ = this;
var coll__$1 = this;
if(cljs.core.integer_QMARK_(k)){
return (((0) <= k)) && ((k < self__.cnt));
} else {
return false;
}
});
cljs.core.PersistentVector.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
if((self__.cnt === (0))){
return null;
} else {
if((self__.cnt <= (32))){
return (new cljs.core.IndexedSeq(self__.tail,(0),null));
} else {
return cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4(coll__$1,cljs.core.first_array_for_longvec(coll__$1),(0),(0));
}
}
});
cljs.core.PersistentVector.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (coll,meta__$1){
var self__ = this;
var coll__$1 = this;
return (new cljs.core.PersistentVector(meta__$1,self__.cnt,self__.shift,self__.root,self__.tail,self__.__hash));
});
cljs.core.PersistentVector.prototype.cljs$core$ICollection$_conj$arity$2 = (function (coll,o){
var self__ = this;
var coll__$1 = this;
if(((self__.cnt - cljs.core.tail_off(coll__$1)) < (32))){
var len = self__.tail.length;
var new_tail = (new Array((len + (1))));
var n__9827__auto___13217 = len;
var i_13218 = (0);
while(true){
if((i_13218 < n__9827__auto___13217)){
(new_tail[i_13218] = (self__.tail[i_13218]));
var G__13219 = (i_13218 + (1));
i_13218 = G__13219;
continue;
} else {
}
break;
}
(new_tail[len] = o);
return (new cljs.core.PersistentVector(self__.meta,(self__.cnt + (1)),self__.shift,self__.root,new_tail,null));
} else {
var root_overflow_QMARK_ = ((self__.cnt >>> (5)) > ((1) << self__.shift));
var new_shift = ((root_overflow_QMARK_)?(self__.shift + (5)):self__.shift);
var new_root = ((root_overflow_QMARK_)?(function (){var n_r = cljs.core.pv_fresh_node(null);
cljs.core.pv_aset(n_r,(0),self__.root);
cljs.core.pv_aset(n_r,(1),cljs.core.new_path(null,self__.shift,(new cljs.core.VectorNode(null,self__.tail))));
return n_r;
})():cljs.core.push_tail(coll__$1,self__.shift,self__.root,(new cljs.core.VectorNode(null,self__.tail))));
return (new cljs.core.PersistentVector(self__.meta,(self__.cnt + (1)),new_shift,new_root,[o],null));
}
});
cljs.core.PersistentVector.prototype.call = (function() {
var G__13220 = null;
var G__13220__2 = (function (self__,k){
var self__ = this;
var self____$1 = this;
var coll = self____$1;
return coll.cljs$core$IIndexed$_nth$arity$2(null,k);
});
var G__13220__3 = (function (self__,k,not_found){
var self__ = this;
var self____$1 = this;
var coll = self____$1;
return coll.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);
});
G__13220 = function(self__,k,not_found){
switch(arguments.length){
case 2:
return G__13220__2.call(this,self__,k);
case 3:
return G__13220__3.call(this,self__,k,not_found);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13220.cljs$core$IFn$_invoke$arity$2 = G__13220__2;
G__13220.cljs$core$IFn$_invoke$arity$3 = G__13220__3;
return G__13220;
})()
;
cljs.core.PersistentVector.prototype.apply = (function (self__,args13201){
var self__ = this;
var self____$1 = this;
return self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args13201)));
});
cljs.core.PersistentVector.prototype.cljs$core$IFn$_invoke$arity$1 = (function (k){
var self__ = this;
var coll = this;
return coll.cljs$core$IIndexed$_nth$arity$2(null,k);
});
cljs.core.PersistentVector.prototype.cljs$core$IFn$_invoke$arity$2 = (function (k,not_found){
var self__ = this;
var coll = this;
return coll.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);
});
cljs.core.PersistentVector.getBasis = (function (){
return new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$meta,cljs.core.cst$sym$cnt,cljs.core.cst$sym$shift,cljs.core.cst$sym$root,cljs.core.cst$sym$tail,cljs.core.with_meta(cljs.core.cst$sym$__hash,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null))], null);
});
cljs.core.PersistentVector.cljs$lang$type = true;
cljs.core.PersistentVector.cljs$lang$ctorStr = "cljs.core/PersistentVector";
cljs.core.PersistentVector.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/PersistentVector");
});
cljs.core.__GT_PersistentVector = (function cljs$core$__GT_PersistentVector(meta,cnt,shift,root,tail,__hash){
return (new cljs.core.PersistentVector(meta,cnt,shift,root,tail,__hash));
});
cljs.core.PersistentVector.EMPTY_NODE = (new cljs.core.VectorNode(null,[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]));
cljs.core.PersistentVector.EMPTY = (new cljs.core.PersistentVector(null,(0),(5),cljs.core.PersistentVector.EMPTY_NODE,[],cljs.core.empty_ordered_hash));
cljs.core.PersistentVector.fromArray = (function (xs,no_clone){
var l = xs.length;
var xs__$1 = ((no_clone)?xs:cljs.core.aclone(xs));
if((l < (32))){
return (new cljs.core.PersistentVector(null,l,(5),cljs.core.PersistentVector.EMPTY_NODE,xs__$1,null));
} else {
var node = xs__$1.slice((0),(32));
var v = (new cljs.core.PersistentVector(null,(32),(5),cljs.core.PersistentVector.EMPTY_NODE,node,null));
var i = (32);
var out = v.cljs$core$IEditableCollection$_as_transient$arity$1(null);
while(true){
if((i < l)){
var G__13221 = (i + (1));
var G__13222 = cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(out,(xs__$1[i]));
i = G__13221;
out = G__13222;
continue;
} else {
return cljs.core.persistent_BANG_(out);
}
break;
}
}
});
var G__13223_13226 = cljs.core.PersistentVector.prototype;
var G__13224_13227 = cljs.core.ITER_SYMBOL;
var G__13225_13228 = ((function (G__13223_13226,G__13224_13227){
return (function (){
var this__9929__auto__ = this;
return cljs.core.es6_iterator(this__9929__auto__);
});})(G__13223_13226,G__13224_13227))
;
goog.object.set(G__13223_13226,G__13224_13227,G__13225_13228);
/**
* Creates a new vector containing the contents of coll. JavaScript arrays
* will be aliased and should not be modified.
*/
cljs.core.vec = (function cljs$core$vec(coll){
if(cljs.core.array_QMARK_(coll)){
return cljs.core.PersistentVector.fromArray(coll,true);
} else {
return cljs.core._persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj_BANG_,cljs.core._as_transient(cljs.core.PersistentVector.EMPTY),coll));
}
});
/**
* Creates a new vector containing the args.
*/
cljs.core.vector = (function cljs$core$vector(var_args){
var args__10068__auto__ = [];
var len__10061__auto___13230 = arguments.length;
var i__10062__auto___13231 = (0);
while(true){
if((i__10062__auto___13231 < len__10061__auto___13230)){
args__10068__auto__.push((arguments[i__10062__auto___13231]));
var G__13232 = (i__10062__auto___13231 + (1));
i__10062__auto___13231 = G__13232;
continue;
} else {
}
break;
}
var argseq__10069__auto__ = ((((0) < args__10068__auto__.length))?(new cljs.core.IndexedSeq(args__10068__auto__.slice((0)),(0),null)):null);
return cljs.core.vector.cljs$core$IFn$_invoke$arity$variadic(argseq__10069__auto__);
});
cljs.core.vector.cljs$core$IFn$_invoke$arity$variadic = (function (args){
if(((args instanceof cljs.core.IndexedSeq)) && ((args.i === (0)))){
return cljs.core.PersistentVector.fromArray(args.arr,true);
} else {
return cljs.core.vec(args);
}
});
cljs.core.vector.cljs$lang$maxFixedArity = (0);
cljs.core.vector.cljs$lang$applyTo = (function (seq13229){
return cljs.core.vector.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq13229));
});
/**
* @constructor
* @implements {cljs.core.IEquiv}
* @implements {cljs.core.IHash}
* @implements {cljs.core.ASeq}
* @implements {cljs.core.ICollection}
* @implements {cljs.core.IChunkedNext}
* @implements {cljs.core.IEmptyableCollection}
* @implements {cljs.core.ISeq}
* @implements {cljs.core.INext}
* @implements {cljs.core.ISeqable}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.IChunkedSeq}
* @implements {cljs.core.ISequential}
* @implements {cljs.core.IWithMeta}
* @implements {cljs.core.IReduce}
*/
cljs.core.ChunkedSeq = (function (vec,node,i,off,meta,__hash){
this.vec = vec;
this.node = node;
this.i = i;
this.off = off;
this.meta = meta;
this.__hash = __hash;
this.cljs$lang$protocol_mask$partition0$ = 32375020;
this.cljs$lang$protocol_mask$partition1$ = 1536;
});
cljs.core.ChunkedSeq.prototype.toString = (function (){
var self__ = this;
var coll = this;
return cljs.core.pr_str_STAR_(coll);
});
cljs.core.ChunkedSeq.prototype.equiv = (function (other){
var self__ = this;
var this$ = this;
return this$.cljs$core$IEquiv$_equiv$arity$2(null,other);
});
cljs.core.ChunkedSeq.prototype.indexOf = (function() {
var G__13233 = null;
var G__13233__1 = (function (x){
var self__ = this;
var coll = this;
return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));
});
var G__13233__2 = (function (x,start){
var self__ = this;
var coll = this;
return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);
});
G__13233 = function(x,start){
switch(arguments.length){
case 1:
return G__13233__1.call(this,x);
case 2:
return G__13233__2.call(this,x,start);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13233.cljs$core$IFn$_invoke$arity$1 = G__13233__1;
G__13233.cljs$core$IFn$_invoke$arity$2 = G__13233__2;
return G__13233;
})()
;
cljs.core.ChunkedSeq.prototype.lastIndexOf = (function() {
var G__13234 = null;
var G__13234__1 = (function (x){
var self__ = this;
var coll = this;
return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));
});
var G__13234__2 = (function (x,start){
var self__ = this;
var coll = this;
return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);
});
G__13234 = function(x,start){
switch(arguments.length){
case 1:
return G__13234__1.call(this,x);
case 2:
return G__13234__2.call(this,x,start);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13234.cljs$core$IFn$_invoke$arity$1 = G__13234__1;
G__13234.cljs$core$IFn$_invoke$arity$2 = G__13234__2;
return G__13234;
})()
;
cljs.core.ChunkedSeq.prototype.cljs$core$IMeta$_meta$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return self__.meta;
});
cljs.core.ChunkedSeq.prototype.cljs$core$INext$_next$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
if(((self__.off + (1)) < self__.node.length)){
var s = cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4(self__.vec,self__.node,self__.i,(self__.off + (1)));
if((s == null)){
return null;
} else {
return s;
}
} else {
return coll__$1.cljs$core$IChunkedNext$_chunked_next$arity$1(null);
}
});
cljs.core.ChunkedSeq.prototype.cljs$core$IHash$_hash$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
var h__9238__auto__ = self__.__hash;
if(!((h__9238__auto__ == null))){
return h__9238__auto__;
} else {
var h__9238__auto____$1 = cljs.core.hash_ordered_coll(coll__$1);
self__.__hash = h__9238__auto____$1;
return h__9238__auto____$1;
}
});
cljs.core.ChunkedSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (coll,other){
var self__ = this;
var coll__$1 = this;
return cljs.core.equiv_sequential(coll__$1,other);
});
cljs.core.ChunkedSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return cljs.core._with_meta(cljs.core.PersistentVector.EMPTY,self__.meta);
});
cljs.core.ChunkedSeq.prototype.cljs$core$IReduce$_reduce$arity$2 = (function (coll,f){
var self__ = this;
var coll__$1 = this;
return cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$4(self__.vec,f,(self__.i + self__.off),cljs.core.count(self__.vec));
});
cljs.core.ChunkedSeq.prototype.cljs$core$IReduce$_reduce$arity$3 = (function (coll,f,start){
var self__ = this;
var coll__$1 = this;
return cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$5(self__.vec,f,start,(self__.i + self__.off),cljs.core.count(self__.vec));
});
cljs.core.ChunkedSeq.prototype.cljs$core$ISeq$_first$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return (self__.node[self__.off]);
});
cljs.core.ChunkedSeq.prototype.cljs$core$ISeq$_rest$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
if(((self__.off + (1)) < self__.node.length)){
var s = cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4(self__.vec,self__.node,self__.i,(self__.off + (1)));
if((s == null)){
return cljs.core.List.EMPTY;
} else {
return s;
}
} else {
return coll__$1.cljs$core$IChunkedSeq$_chunked_rest$arity$1(null);
}
});
cljs.core.ChunkedSeq.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return coll__$1;
});
cljs.core.ChunkedSeq.prototype.cljs$core$IChunkedSeq$_chunked_first$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return cljs.core.array_chunk.cljs$core$IFn$_invoke$arity$2(self__.node,self__.off);
});
cljs.core.ChunkedSeq.prototype.cljs$core$IChunkedSeq$_chunked_rest$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
var end = (self__.i + self__.node.length);
if((end < cljs.core._count(self__.vec))){
return cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4(self__.vec,cljs.core.unchecked_array_for(self__.vec,end),end,(0));
} else {
return cljs.core.List.EMPTY;
}
});
cljs.core.ChunkedSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (coll,m){
var self__ = this;
var coll__$1 = this;
return cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$5(self__.vec,self__.node,self__.i,self__.off,m);
});
cljs.core.ChunkedSeq.prototype.cljs$core$ICollection$_conj$arity$2 = (function (coll,o){
var self__ = this;
var coll__$1 = this;
return cljs.core.cons(o,coll__$1);
});
cljs.core.ChunkedSeq.prototype.cljs$core$IChunkedNext$_chunked_next$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
var end = (self__.i + self__.node.length);
if((end < cljs.core._count(self__.vec))){
return cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4(self__.vec,cljs.core.unchecked_array_for(self__.vec,end),end,(0));
} else {
return null;
}
});
cljs.core.ChunkedSeq.getBasis = (function (){
return new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$vec,cljs.core.cst$sym$node,cljs.core.cst$sym$i,cljs.core.cst$sym$off,cljs.core.cst$sym$meta,cljs.core.with_meta(cljs.core.cst$sym$__hash,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null))], null);
});
cljs.core.ChunkedSeq.cljs$lang$type = true;
cljs.core.ChunkedSeq.cljs$lang$ctorStr = "cljs.core/ChunkedSeq";
cljs.core.ChunkedSeq.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/ChunkedSeq");
});
cljs.core.__GT_ChunkedSeq = (function cljs$core$__GT_ChunkedSeq(vec,node,i,off,meta,__hash){
return (new cljs.core.ChunkedSeq(vec,node,i,off,meta,__hash));
});
var G__13235_13238 = cljs.core.ChunkedSeq.prototype;
var G__13236_13239 = cljs.core.ITER_SYMBOL;
var G__13237_13240 = ((function (G__13235_13238,G__13236_13239){
return (function (){
var this__9929__auto__ = this;
return cljs.core.es6_iterator(this__9929__auto__);
});})(G__13235_13238,G__13236_13239))
;
goog.object.set(G__13235_13238,G__13236_13239,G__13237_13240);
cljs.core.chunked_seq = (function cljs$core$chunked_seq(var_args){
var G__13242 = arguments.length;
switch (G__13242) {
case 3:
return cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
case 4:
return cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));
break;
case 5:
return cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$3 = (function (vec,i,off){
return (new cljs.core.ChunkedSeq(vec,cljs.core.array_for(vec,i),i,off,null,null));
});
cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$4 = (function (vec,node,i,off){
return (new cljs.core.ChunkedSeq(vec,node,i,off,null,null));
});
cljs.core.chunked_seq.cljs$core$IFn$_invoke$arity$5 = (function (vec,node,i,off,meta){
return (new cljs.core.ChunkedSeq(vec,node,i,off,meta,null));
});
cljs.core.chunked_seq.cljs$lang$maxFixedArity = 5;
/**
* @constructor
* @implements {cljs.core.IIndexed}
* @implements {cljs.core.IVector}
* @implements {cljs.core.IReversible}
* @implements {cljs.core.IKVReduce}
* @implements {cljs.core.IEquiv}
* @implements {cljs.core.IHash}
* @implements {cljs.core.IFn}
* @implements {cljs.core.ICollection}
* @implements {cljs.core.IFind}
* @implements {cljs.core.IEmptyableCollection}
* @implements {cljs.core.ICounted}
* @implements {cljs.core.ISeqable}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.ICloneable}
* @implements {cljs.core.IStack}
* @implements {cljs.core.IIterable}
* @implements {cljs.core.ISequential}
* @implements {cljs.core.IWithMeta}
* @implements {cljs.core.IAssociative}
* @implements {cljs.core.ILookup}
* @implements {cljs.core.IReduce}
*/
cljs.core.Subvec = (function (meta,v,start,end,__hash){
this.meta = meta;
this.v = v;
this.start = start;
this.end = end;
this.__hash = __hash;
this.cljs$lang$protocol_mask$partition0$ = 167666463;
this.cljs$lang$protocol_mask$partition1$ = 139264;
});
cljs.core.Subvec.prototype.cljs$core$IFind$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.Subvec.prototype.cljs$core$IFind$_find$arity$2 = (function (coll,n){
var self__ = this;
var coll__$1 = this;
if((n < (0))){
return null;
} else {
var idx = (self__.start + n);
if((idx < self__.end)){
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [n,cljs.core._lookup.cljs$core$IFn$_invoke$arity$2(self__.v,idx)], null);
} else {
return null;
}
}
});
cljs.core.Subvec.prototype.toString = (function (){
var self__ = this;
var coll = this;
return cljs.core.pr_str_STAR_(coll);
});
cljs.core.Subvec.prototype.equiv = (function (other){
var self__ = this;
var this$ = this;
return this$.cljs$core$IEquiv$_equiv$arity$2(null,other);
});
cljs.core.Subvec.prototype.indexOf = (function() {
var G__13251 = null;
var G__13251__1 = (function (x){
var self__ = this;
var coll = this;
return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));
});
var G__13251__2 = (function (x,start__$1){
var self__ = this;
var coll = this;
return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start__$1);
});
G__13251 = function(x,start__$1){
switch(arguments.length){
case 1:
return G__13251__1.call(this,x);
case 2:
return G__13251__2.call(this,x,start__$1);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13251.cljs$core$IFn$_invoke$arity$1 = G__13251__1;
G__13251.cljs$core$IFn$_invoke$arity$2 = G__13251__2;
return G__13251;
})()
;
cljs.core.Subvec.prototype.lastIndexOf = (function() {
var G__13252 = null;
var G__13252__1 = (function (x){
var self__ = this;
var coll = this;
return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));
});
var G__13252__2 = (function (x,start__$1){
var self__ = this;
var coll = this;
return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start__$1);
});
G__13252 = function(x,start__$1){
switch(arguments.length){
case 1:
return G__13252__1.call(this,x);
case 2:
return G__13252__2.call(this,x,start__$1);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13252.cljs$core$IFn$_invoke$arity$1 = G__13252__1;
G__13252.cljs$core$IFn$_invoke$arity$2 = G__13252__2;
return G__13252;
})()
;
cljs.core.Subvec.prototype.cljs$core$ILookup$_lookup$arity$2 = (function (coll,k){
var self__ = this;
var coll__$1 = this;
return coll__$1.cljs$core$ILookup$_lookup$arity$3(null,k,null);
});
cljs.core.Subvec.prototype.cljs$core$ILookup$_lookup$arity$3 = (function (coll,k,not_found){
var self__ = this;
var coll__$1 = this;
if(typeof k === 'number'){
return coll__$1.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);
} else {
return not_found;
}
});
cljs.core.Subvec.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 = (function (coll,f,init){
var self__ = this;
var coll__$1 = this;
var i = self__.start;
var j = (0);
var init__$1 = init;
while(true){
if((i < self__.end)){
var init__$2 = (function (){var G__13245 = init__$1;
var G__13246 = j;
var G__13247 = cljs.core._nth.cljs$core$IFn$_invoke$arity$2(self__.v,i);
return (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__13245,G__13246,G__13247) : f.call(null,G__13245,G__13246,G__13247));
})();
if(cljs.core.reduced_QMARK_(init__$2)){
return cljs.core.deref(init__$2);
} else {
var G__13253 = (i + (1));
var G__13254 = (j + (1));
var G__13255 = init__$2;
i = G__13253;
j = G__13254;
init__$1 = G__13255;
continue;
}
} else {
return init__$1;
}
break;
}
});
cljs.core.Subvec.prototype.cljs$core$IIndexed$_nth$arity$2 = (function (coll,n){
var self__ = this;
var coll__$1 = this;
if(((n < (0))) || ((self__.end <= (self__.start + n)))){
return cljs.core.vector_index_out_of_bounds(n,(self__.end - self__.start));
} else {
return cljs.core._nth.cljs$core$IFn$_invoke$arity$2(self__.v,(self__.start + n));
}
});
cljs.core.Subvec.prototype.cljs$core$IIndexed$_nth$arity$3 = (function (coll,n,not_found){
var self__ = this;
var coll__$1 = this;
if(((n < (0))) || ((self__.end <= (self__.start + n)))){
return not_found;
} else {
return cljs.core._nth.cljs$core$IFn$_invoke$arity$3(self__.v,(self__.start + n),not_found);
}
});
cljs.core.Subvec.prototype.cljs$core$IVector$_assoc_n$arity$3 = (function (coll,n,val){
var self__ = this;
var coll__$1 = this;
var v_pos = (self__.start + n);
if(((n < (0))) || (((self__.end + (1)) <= v_pos))){
throw (new Error(["Index ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(n)," out of bounds [0,",cljs.core.str.cljs$core$IFn$_invoke$arity$1(coll__$1.cljs$core$ICounted$_count$arity$1(null)),"]"].join('')));
} else {
return cljs.core.build_subvec(self__.meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.v,v_pos,val),self__.start,(function (){var x__9134__auto__ = self__.end;
var y__9135__auto__ = (v_pos + (1));
return ((x__9134__auto__ > y__9135__auto__) ? x__9134__auto__ : y__9135__auto__);
})(),null);
}
});
cljs.core.Subvec.prototype.cljs$core$IIterable$_iterator$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
if(((!((self__.v == null)))?(((false) || ((cljs.core.PROTOCOL_SENTINEL === self__.v.cljs$core$APersistentVector$)))?true:false):false)){
return cljs.core.ranged_iterator(self__.v,self__.start,self__.end);
} else {
return cljs.core.seq_iter(coll__$1);
}
});
cljs.core.Subvec.prototype.cljs$core$IMeta$_meta$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return self__.meta;
});
cljs.core.Subvec.prototype.cljs$core$ICloneable$_clone$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return (new cljs.core.Subvec(self__.meta,self__.v,self__.start,self__.end,self__.__hash));
});
cljs.core.Subvec.prototype.cljs$core$ICounted$_count$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return (self__.end - self__.start);
});
cljs.core.Subvec.prototype.cljs$core$IStack$_peek$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return cljs.core._nth.cljs$core$IFn$_invoke$arity$2(self__.v,(self__.end - (1)));
});
cljs.core.Subvec.prototype.cljs$core$IStack$_pop$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
if((self__.start === self__.end)){
throw (new Error("Can't pop empty vector"));
} else {
return cljs.core.build_subvec(self__.meta,self__.v,self__.start,(self__.end - (1)),null);
}
});
cljs.core.Subvec.prototype.cljs$core$IReversible$_rseq$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
if(!((self__.start === self__.end))){
return (new cljs.core.RSeq(coll__$1,((self__.end - self__.start) - (1)),null));
} else {
return null;
}
});
cljs.core.Subvec.prototype.cljs$core$IHash$_hash$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
var h__9238__auto__ = self__.__hash;
if(!((h__9238__auto__ == null))){
return h__9238__auto__;
} else {
var h__9238__auto____$1 = cljs.core.hash_ordered_coll(coll__$1);
self__.__hash = h__9238__auto____$1;
return h__9238__auto____$1;
}
});
cljs.core.Subvec.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (coll,other){
var self__ = this;
var coll__$1 = this;
return cljs.core.equiv_sequential(coll__$1,other);
});
cljs.core.Subvec.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return cljs.core._with_meta(cljs.core.PersistentVector.EMPTY,self__.meta);
});
cljs.core.Subvec.prototype.cljs$core$IReduce$_reduce$arity$2 = (function (coll,f){
var self__ = this;
var coll__$1 = this;
if(((!((self__.v == null)))?(((false) || ((cljs.core.PROTOCOL_SENTINEL === self__.v.cljs$core$APersistentVector$)))?true:false):false)){
return cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$4(self__.v,f,self__.start,self__.end);
} else {
return cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2(coll__$1,f);
}
});
cljs.core.Subvec.prototype.cljs$core$IReduce$_reduce$arity$3 = (function (coll,f,init){
var self__ = this;
var coll__$1 = this;
if(((!((self__.v == null)))?(((false) || ((cljs.core.PROTOCOL_SENTINEL === self__.v.cljs$core$APersistentVector$)))?true:false):false)){
return cljs.core.pv_reduce.cljs$core$IFn$_invoke$arity$5(self__.v,f,init,self__.start,self__.end);
} else {
return cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3(coll__$1,f,init);
}
});
cljs.core.Subvec.prototype.cljs$core$IAssociative$_assoc$arity$3 = (function (coll,key,val){
var self__ = this;
var coll__$1 = this;
if(typeof key === 'number'){
return coll__$1.cljs$core$IVector$_assoc_n$arity$3(null,key,val);
} else {
throw (new Error("Subvec's key for assoc must be a number."));
}
});
cljs.core.Subvec.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
var subvec_seq = ((function (coll__$1){
return (function cljs$core$subvec_seq(i){
if((i === self__.end)){
return null;
} else {
return cljs.core.cons(cljs.core._nth.cljs$core$IFn$_invoke$arity$2(self__.v,i),(new cljs.core.LazySeq(null,((function (coll__$1){
return (function (){
return cljs$core$subvec_seq((i + (1)));
});})(coll__$1))
,null,null)));
}
});})(coll__$1))
;
return subvec_seq(self__.start);
});
cljs.core.Subvec.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (coll,meta__$1){
var self__ = this;
var coll__$1 = this;
return cljs.core.build_subvec(meta__$1,self__.v,self__.start,self__.end,self__.__hash);
});
cljs.core.Subvec.prototype.cljs$core$ICollection$_conj$arity$2 = (function (coll,o){
var self__ = this;
var coll__$1 = this;
return cljs.core.build_subvec(self__.meta,cljs.core._assoc_n(self__.v,self__.end,o),self__.start,(self__.end + (1)),null);
});
cljs.core.Subvec.prototype.call = (function() {
var G__13256 = null;
var G__13256__2 = (function (self__,k){
var self__ = this;
var self____$1 = this;
var coll = self____$1;
return coll.cljs$core$IIndexed$_nth$arity$2(null,k);
});
var G__13256__3 = (function (self__,k,not_found){
var self__ = this;
var self____$1 = this;
var coll = self____$1;
return coll.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);
});
G__13256 = function(self__,k,not_found){
switch(arguments.length){
case 2:
return G__13256__2.call(this,self__,k);
case 3:
return G__13256__3.call(this,self__,k,not_found);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13256.cljs$core$IFn$_invoke$arity$2 = G__13256__2;
G__13256.cljs$core$IFn$_invoke$arity$3 = G__13256__3;
return G__13256;
})()
;
cljs.core.Subvec.prototype.apply = (function (self__,args13244){
var self__ = this;
var self____$1 = this;
return self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args13244)));
});
cljs.core.Subvec.prototype.cljs$core$IFn$_invoke$arity$1 = (function (k){
var self__ = this;
var coll = this;
return coll.cljs$core$IIndexed$_nth$arity$2(null,k);
});
cljs.core.Subvec.prototype.cljs$core$IFn$_invoke$arity$2 = (function (k,not_found){
var self__ = this;
var coll = this;
return coll.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);
});
cljs.core.Subvec.getBasis = (function (){
return new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$meta,cljs.core.cst$sym$v,cljs.core.cst$sym$start,cljs.core.cst$sym$end,cljs.core.with_meta(cljs.core.cst$sym$__hash,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null))], null);
});
cljs.core.Subvec.cljs$lang$type = true;
cljs.core.Subvec.cljs$lang$ctorStr = "cljs.core/Subvec";
cljs.core.Subvec.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/Subvec");
});
cljs.core.__GT_Subvec = (function cljs$core$__GT_Subvec(meta,v,start,end,__hash){
return (new cljs.core.Subvec(meta,v,start,end,__hash));
});
var G__13257_13260 = cljs.core.Subvec.prototype;
var G__13258_13261 = cljs.core.ITER_SYMBOL;
var G__13259_13262 = ((function (G__13257_13260,G__13258_13261){
return (function (){
var this__9929__auto__ = this;
return cljs.core.es6_iterator(this__9929__auto__);
});})(G__13257_13260,G__13258_13261))
;
goog.object.set(G__13257_13260,G__13258_13261,G__13259_13262);
cljs.core.build_subvec = (function cljs$core$build_subvec(meta,v,start,end,__hash){
while(true){
if((v instanceof cljs.core.Subvec)){
var G__13263 = meta;
var G__13264 = v.v;
var G__13265 = (v.start + start);
var G__13266 = (v.start + end);
var G__13267 = __hash;
meta = G__13263;
v = G__13264;
start = G__13265;
end = G__13266;
__hash = G__13267;
continue;
} else {
if(cljs.core.vector_QMARK_(v)){
} else {
throw (new Error("v must satisfy IVector"));
}
var c_13268 = cljs.core.count(v);
if(((start < (0))) || ((end < (0))) || ((start > c_13268)) || ((end > c_13268))){
throw (new Error("Index out of bounds"));
} else {
}
return (new cljs.core.Subvec(meta,v,start,end,__hash));
}
break;
}
});
/**
* Returns a persistent vector of the items in vector from
* start (inclusive) to end (exclusive). If end is not supplied,
* defaults to (count vector). This operation is O(1) and very fast, as
* the resulting vector shares structure with the original and no
* trimming is done.
*/
cljs.core.subvec = (function cljs$core$subvec(var_args){
var G__13270 = arguments.length;
switch (G__13270) {
case 2:
return cljs.core.subvec.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.subvec.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.subvec.cljs$core$IFn$_invoke$arity$2 = (function (v,start){
return cljs.core.subvec.cljs$core$IFn$_invoke$arity$3(v,start,cljs.core.count(v));
});
cljs.core.subvec.cljs$core$IFn$_invoke$arity$3 = (function (v,start,end){
if((!((start == null))) && (!((end == null)))){
} else {
throw (new Error("Assert failed: (and (not (nil? start)) (not (nil? end)))"));
}
return cljs.core.build_subvec(null,v,start,end,null);
});
cljs.core.subvec.cljs$lang$maxFixedArity = 3;
cljs.core.tv_ensure_editable = (function cljs$core$tv_ensure_editable(edit,node){
if((edit === node.edit)){
return node;
} else {
return (new cljs.core.VectorNode(edit,cljs.core.aclone(node.arr)));
}
});
cljs.core.tv_editable_root = (function cljs$core$tv_editable_root(node){
return (new cljs.core.VectorNode({},cljs.core.aclone(node.arr)));
});
cljs.core.tv_editable_tail = (function cljs$core$tv_editable_tail(tl){
var ret = [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];
cljs.core.array_copy(tl,(0),ret,(0),tl.length);
return ret;
});
cljs.core.tv_push_tail = (function cljs$core$tv_push_tail(tv,level,parent,tail_node){
var ret = cljs.core.tv_ensure_editable(tv.root.edit,parent);
var subidx = (((tv.cnt - (1)) >>> level) & (31));
cljs.core.pv_aset(ret,subidx,(((level === (5)))?tail_node:(function (){var child = cljs.core.pv_aget(ret,subidx);
if(!((child == null))){
var G__13274 = tv;
var G__13275 = (level - (5));
var G__13276 = child;
var G__13277 = tail_node;
return (cljs.core.tv_push_tail.cljs$core$IFn$_invoke$arity$4 ? cljs.core.tv_push_tail.cljs$core$IFn$_invoke$arity$4(G__13274,G__13275,G__13276,G__13277) : cljs.core.tv_push_tail.call(null,G__13274,G__13275,G__13276,G__13277));
} else {
return cljs.core.new_path(tv.root.edit,(level - (5)),tail_node);
}
})()));
return ret;
});
cljs.core.tv_pop_tail = (function cljs$core$tv_pop_tail(tv,level,node){
var node__$1 = cljs.core.tv_ensure_editable(tv.root.edit,node);
var subidx = (((tv.cnt - (2)) >>> level) & (31));
if((level > (5))){
var new_child = (function (){var G__13278 = tv;
var G__13279 = (level - (5));
var G__13280 = cljs.core.pv_aget(node__$1,subidx);
return (cljs.core.tv_pop_tail.cljs$core$IFn$_invoke$arity$3 ? cljs.core.tv_pop_tail.cljs$core$IFn$_invoke$arity$3(G__13278,G__13279,G__13280) : cljs.core.tv_pop_tail.call(null,G__13278,G__13279,G__13280));
})();
if(((new_child == null)) && ((subidx === (0)))){
return null;
} else {
cljs.core.pv_aset(node__$1,subidx,new_child);
return node__$1;
}
} else {
if((subidx === (0))){
return null;
} else {
cljs.core.pv_aset(node__$1,subidx,null);
return node__$1;
}
}
});
cljs.core.unchecked_editable_array_for = (function cljs$core$unchecked_editable_array_for(tv,i){
if((i >= cljs.core.tail_off(tv))){
return tv.tail;
} else {
var root = tv.root;
var node = root;
var level = tv.shift;
while(true){
if((level > (0))){
var G__13281 = cljs.core.tv_ensure_editable(root.edit,cljs.core.pv_aget(node,((i >>> level) & (31))));
var G__13282 = (level - (5));
node = G__13281;
level = G__13282;
continue;
} else {
return node.arr;
}
break;
}
}
});
/**
* @constructor
* @implements {cljs.core.IIndexed}
* @implements {cljs.core.IFn}
* @implements {cljs.core.ICounted}
* @implements {cljs.core.ITransientCollection}
* @implements {cljs.core.ITransientVector}
* @implements {cljs.core.ITransientAssociative}
* @implements {cljs.core.ILookup}
*/
cljs.core.TransientVector = (function (cnt,shift,root,tail){
this.cnt = cnt;
this.shift = shift;
this.root = root;
this.tail = tail;
this.cljs$lang$protocol_mask$partition1$ = 88;
this.cljs$lang$protocol_mask$partition0$ = 275;
});
cljs.core.TransientVector.prototype.cljs$core$ITransientCollection$_conj_BANG_$arity$2 = (function (tcoll,o){
var self__ = this;
var tcoll__$1 = this;
if(self__.root.edit){
if(((self__.cnt - cljs.core.tail_off(tcoll__$1)) < (32))){
(self__.tail[(self__.cnt & (31))] = o);
self__.cnt = (self__.cnt + (1));
return tcoll__$1;
} else {
var tail_node = (new cljs.core.VectorNode(self__.root.edit,self__.tail));
var new_tail = [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];
(new_tail[(0)] = o);
self__.tail = new_tail;
if(((self__.cnt >>> (5)) > ((1) << self__.shift))){
var new_root_array = [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];
var new_shift = (self__.shift + (5));
(new_root_array[(0)] = self__.root);
(new_root_array[(1)] = cljs.core.new_path(self__.root.edit,self__.shift,tail_node));
self__.root = (new cljs.core.VectorNode(self__.root.edit,new_root_array));
self__.shift = new_shift;
self__.cnt = (self__.cnt + (1));
return tcoll__$1;
} else {
var new_root = cljs.core.tv_push_tail(tcoll__$1,self__.shift,self__.root,tail_node);
self__.root = new_root;
self__.cnt = (self__.cnt + (1));
return tcoll__$1;
}
}
} else {
throw (new Error("conj! after persistent!"));
}
});
cljs.core.TransientVector.prototype.cljs$core$ITransientCollection$_persistent_BANG_$arity$1 = (function (tcoll){
var self__ = this;
var tcoll__$1 = this;
if(self__.root.edit){
self__.root.edit = null;
var len = (self__.cnt - cljs.core.tail_off(tcoll__$1));
var trimmed_tail = (new Array(len));
cljs.core.array_copy(self__.tail,(0),trimmed_tail,(0),len);
return (new cljs.core.PersistentVector(null,self__.cnt,self__.shift,self__.root,trimmed_tail,null));
} else {
throw (new Error("persistent! called twice"));
}
});
cljs.core.TransientVector.prototype.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3 = (function (tcoll,key,val){
var self__ = this;
var tcoll__$1 = this;
if(typeof key === 'number'){
return tcoll__$1.cljs$core$ITransientVector$_assoc_n_BANG_$arity$3(null,key,val);
} else {
throw (new Error("TransientVector's key for assoc! must be a number."));
}
});
cljs.core.TransientVector.prototype.cljs$core$ITransientVector$_assoc_n_BANG_$arity$3 = (function (tcoll,n,val){
var self__ = this;
var tcoll__$1 = this;
if(self__.root.edit){
if((((0) <= n)) && ((n < self__.cnt))){
if((cljs.core.tail_off(tcoll__$1) <= n)){
(self__.tail[(n & (31))] = val);
return tcoll__$1;
} else {
var new_root = (function (){var fexpr__13284 = ((function (tcoll__$1){
return (function cljs$core$go(level,node){
var node__$1 = cljs.core.tv_ensure_editable(self__.root.edit,node);
if((level === (0))){
cljs.core.pv_aset(node__$1,(n & (31)),val);
return node__$1;
} else {
var subidx = ((n >>> level) & (31));
cljs.core.pv_aset(node__$1,subidx,cljs$core$go((level - (5)),cljs.core.pv_aget(node__$1,subidx)));
return node__$1;
}
});})(tcoll__$1))
;
return fexpr__13284(self__.shift,self__.root);
})();
self__.root = new_root;
return tcoll__$1;
}
} else {
if((n === self__.cnt)){
return tcoll__$1.cljs$core$ITransientCollection$_conj_BANG_$arity$2(null,val);
} else {
throw (new Error(["Index ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(n)," out of bounds for TransientVector of length",cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.cnt)].join('')));
}
}
} else {
throw (new Error("assoc! after persistent!"));
}
});
cljs.core.TransientVector.prototype.cljs$core$ITransientVector$_pop_BANG_$arity$1 = (function (tcoll){
var self__ = this;
var tcoll__$1 = this;
if(self__.root.edit){
if((self__.cnt === (0))){
throw (new Error("Can't pop empty vector"));
} else {
if(((1) === self__.cnt)){
self__.cnt = (0);
return tcoll__$1;
} else {
if((((self__.cnt - (1)) & (31)) > (0))){
self__.cnt = (self__.cnt - (1));
return tcoll__$1;
} else {
var new_tail = cljs.core.unchecked_editable_array_for(tcoll__$1,(self__.cnt - (2)));
var new_root = (function (){var nr = cljs.core.tv_pop_tail(tcoll__$1,self__.shift,self__.root);
if(!((nr == null))){
return nr;
} else {
return (new cljs.core.VectorNode(self__.root.edit,[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]));
}
})();
if((((5) < self__.shift)) && ((cljs.core.pv_aget(new_root,(1)) == null))){
var new_root__$1 = cljs.core.tv_ensure_editable(self__.root.edit,cljs.core.pv_aget(new_root,(0)));
self__.root = new_root__$1;
self__.shift = (self__.shift - (5));
self__.cnt = (self__.cnt - (1));
self__.tail = new_tail;
return tcoll__$1;
} else {
self__.root = new_root;
self__.cnt = (self__.cnt - (1));
self__.tail = new_tail;
return tcoll__$1;
}
}
}
}
} else {
throw (new Error("pop! after persistent!"));
}
});
cljs.core.TransientVector.prototype.cljs$core$ICounted$_count$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
if(self__.root.edit){
return self__.cnt;
} else {
throw (new Error("count after persistent!"));
}
});
cljs.core.TransientVector.prototype.cljs$core$IIndexed$_nth$arity$2 = (function (coll,n){
var self__ = this;
var coll__$1 = this;
if(self__.root.edit){
return (cljs.core.array_for(coll__$1,n)[(n & (31))]);
} else {
throw (new Error("nth after persistent!"));
}
});
cljs.core.TransientVector.prototype.cljs$core$IIndexed$_nth$arity$3 = (function (coll,n,not_found){
var self__ = this;
var coll__$1 = this;
if((((0) <= n)) && ((n < self__.cnt))){
return coll__$1.cljs$core$IIndexed$_nth$arity$2(null,n);
} else {
return not_found;
}
});
cljs.core.TransientVector.prototype.cljs$core$ILookup$_lookup$arity$2 = (function (coll,k){
var self__ = this;
var coll__$1 = this;
return coll__$1.cljs$core$ILookup$_lookup$arity$3(null,k,null);
});
cljs.core.TransientVector.prototype.cljs$core$ILookup$_lookup$arity$3 = (function (coll,k,not_found){
var self__ = this;
var coll__$1 = this;
if(typeof k === 'number'){
return coll__$1.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);
} else {
return not_found;
}
});
cljs.core.TransientVector.prototype.call = (function() {
var G__13285 = null;
var G__13285__2 = (function (self__,k){
var self__ = this;
var self____$1 = this;
var coll = self____$1;
return coll.cljs$core$ILookup$_lookup$arity$2(null,k);
});
var G__13285__3 = (function (self__,k,not_found){
var self__ = this;
var self____$1 = this;
var coll = self____$1;
return coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);
});
G__13285 = function(self__,k,not_found){
switch(arguments.length){
case 2:
return G__13285__2.call(this,self__,k);
case 3:
return G__13285__3.call(this,self__,k,not_found);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13285.cljs$core$IFn$_invoke$arity$2 = G__13285__2;
G__13285.cljs$core$IFn$_invoke$arity$3 = G__13285__3;
return G__13285;
})()
;
cljs.core.TransientVector.prototype.apply = (function (self__,args13283){
var self__ = this;
var self____$1 = this;
return self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args13283)));
});
cljs.core.TransientVector.prototype.cljs$core$IFn$_invoke$arity$1 = (function (k){
var self__ = this;
var coll = this;
return coll.cljs$core$ILookup$_lookup$arity$2(null,k);
});
cljs.core.TransientVector.prototype.cljs$core$IFn$_invoke$arity$2 = (function (k,not_found){
var self__ = this;
var coll = this;
return coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);
});
cljs.core.TransientVector.getBasis = (function (){
return new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(cljs.core.cst$sym$cnt,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null)),cljs.core.with_meta(cljs.core.cst$sym$shift,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null)),cljs.core.with_meta(cljs.core.cst$sym$root,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null)),cljs.core.with_meta(cljs.core.cst$sym$tail,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null))], null);
});
cljs.core.TransientVector.cljs$lang$type = true;
cljs.core.TransientVector.cljs$lang$ctorStr = "cljs.core/TransientVector";
cljs.core.TransientVector.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/TransientVector");
});
cljs.core.__GT_TransientVector = (function cljs$core$__GT_TransientVector(cnt,shift,root,tail){
return (new cljs.core.TransientVector(cnt,shift,root,tail));
});
/**
* @constructor
*/
cljs.core.PersistentQueueIter = (function (fseq,riter){
this.fseq = fseq;
this.riter = riter;
});
cljs.core.PersistentQueueIter.prototype.hasNext = (function (){
var self__ = this;
var _ = this;
var or__8782__auto__ = (!((self__.fseq == null))) && (cljs.core.seq(self__.fseq));
if(or__8782__auto__){
return or__8782__auto__;
} else {
var and__8770__auto__ = !((self__.riter == null));
if(and__8770__auto__){
return self__.riter.hasNext();
} else {
return and__8770__auto__;
}
}
});
cljs.core.PersistentQueueIter.prototype.next = (function (){
var self__ = this;
var _ = this;
if(!((self__.fseq == null))){
var ret = cljs.core.first(self__.fseq);
self__.fseq = cljs.core.next(self__.fseq);
return ret;
} else {
if((!((self__.riter == null))) && (self__.riter.hasNext())){
return self__.riter.next();
} else {
throw (new Error("No such element"));
}
}
});
cljs.core.PersistentQueueIter.prototype.remove = (function (){
var self__ = this;
var _ = this;
return (new Error("Unsupported operation"));
});
cljs.core.PersistentQueueIter.getBasis = (function (){
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(cljs.core.cst$sym$fseq,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null)),cljs.core.cst$sym$riter], null);
});
cljs.core.PersistentQueueIter.cljs$lang$type = true;
cljs.core.PersistentQueueIter.cljs$lang$ctorStr = "cljs.core/PersistentQueueIter";
cljs.core.PersistentQueueIter.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/PersistentQueueIter");
});
cljs.core.__GT_PersistentQueueIter = (function cljs$core$__GT_PersistentQueueIter(fseq,riter){
return (new cljs.core.PersistentQueueIter(fseq,riter));
});
/**
* @constructor
* @implements {cljs.core.IEquiv}
* @implements {cljs.core.IHash}
* @implements {cljs.core.ICollection}
* @implements {cljs.core.IEmptyableCollection}
* @implements {cljs.core.ISeq}
* @implements {cljs.core.INext}
* @implements {cljs.core.ISeqable}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.ISequential}
* @implements {cljs.core.IWithMeta}
*/
cljs.core.PersistentQueueSeq = (function (meta,front,rear,__hash){
this.meta = meta;
this.front = front;
this.rear = rear;
this.__hash = __hash;
this.cljs$lang$protocol_mask$partition0$ = 31850700;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
cljs.core.PersistentQueueSeq.prototype.toString = (function (){
var self__ = this;
var coll = this;
return cljs.core.pr_str_STAR_(coll);
});
cljs.core.PersistentQueueSeq.prototype.equiv = (function (other){
var self__ = this;
var this$ = this;
return this$.cljs$core$IEquiv$_equiv$arity$2(null,other);
});
cljs.core.PersistentQueueSeq.prototype.indexOf = (function() {
var G__13286 = null;
var G__13286__1 = (function (x){
var self__ = this;
var coll = this;
return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));
});
var G__13286__2 = (function (x,start){
var self__ = this;
var coll = this;
return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);
});
G__13286 = function(x,start){
switch(arguments.length){
case 1:
return G__13286__1.call(this,x);
case 2:
return G__13286__2.call(this,x,start);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13286.cljs$core$IFn$_invoke$arity$1 = G__13286__1;
G__13286.cljs$core$IFn$_invoke$arity$2 = G__13286__2;
return G__13286;
})()
;
cljs.core.PersistentQueueSeq.prototype.lastIndexOf = (function() {
var G__13287 = null;
var G__13287__1 = (function (x){
var self__ = this;
var coll = this;
return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));
});
var G__13287__2 = (function (x,start){
var self__ = this;
var coll = this;
return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);
});
G__13287 = function(x,start){
switch(arguments.length){
case 1:
return G__13287__1.call(this,x);
case 2:
return G__13287__2.call(this,x,start);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13287.cljs$core$IFn$_invoke$arity$1 = G__13287__1;
G__13287.cljs$core$IFn$_invoke$arity$2 = G__13287__2;
return G__13287;
})()
;
cljs.core.PersistentQueueSeq.prototype.cljs$core$IMeta$_meta$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return self__.meta;
});
cljs.core.PersistentQueueSeq.prototype.cljs$core$INext$_next$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
var temp__5455__auto__ = cljs.core.next(self__.front);
if(temp__5455__auto__){
var f1 = temp__5455__auto__;
return (new cljs.core.PersistentQueueSeq(self__.meta,f1,self__.rear,null));
} else {
if(!((self__.rear == null))){
return (new cljs.core.PersistentQueueSeq(self__.meta,self__.rear,null,null));
} else {
return null;
}
}
});
cljs.core.PersistentQueueSeq.prototype.cljs$core$IHash$_hash$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
var h__9238__auto__ = self__.__hash;
if(!((h__9238__auto__ == null))){
return h__9238__auto__;
} else {
var h__9238__auto____$1 = cljs.core.hash_ordered_coll(coll__$1);
self__.__hash = h__9238__auto____$1;
return h__9238__auto____$1;
}
});
cljs.core.PersistentQueueSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (coll,other){
var self__ = this;
var coll__$1 = this;
return cljs.core.equiv_sequential(coll__$1,other);
});
cljs.core.PersistentQueueSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return cljs.core._with_meta(cljs.core.List.EMPTY,self__.meta);
});
cljs.core.PersistentQueueSeq.prototype.cljs$core$ISeq$_first$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return cljs.core.first(self__.front);
});
cljs.core.PersistentQueueSeq.prototype.cljs$core$ISeq$_rest$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
var temp__5455__auto__ = cljs.core.next(self__.front);
if(temp__5455__auto__){
var f1 = temp__5455__auto__;
return (new cljs.core.PersistentQueueSeq(self__.meta,f1,self__.rear,null));
} else {
if((self__.rear == null)){
return coll__$1.cljs$core$IEmptyableCollection$_empty$arity$1(null);
} else {
return (new cljs.core.PersistentQueueSeq(self__.meta,self__.rear,null,null));
}
}
});
cljs.core.PersistentQueueSeq.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return coll__$1;
});
cljs.core.PersistentQueueSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (coll,meta__$1){
var self__ = this;
var coll__$1 = this;
return (new cljs.core.PersistentQueueSeq(meta__$1,self__.front,self__.rear,self__.__hash));
});
cljs.core.PersistentQueueSeq.prototype.cljs$core$ICollection$_conj$arity$2 = (function (coll,o){
var self__ = this;
var coll__$1 = this;
return cljs.core.cons(o,coll__$1);
});
cljs.core.PersistentQueueSeq.getBasis = (function (){
return new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$meta,cljs.core.cst$sym$front,cljs.core.cst$sym$rear,cljs.core.with_meta(cljs.core.cst$sym$__hash,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null))], null);
});
cljs.core.PersistentQueueSeq.cljs$lang$type = true;
cljs.core.PersistentQueueSeq.cljs$lang$ctorStr = "cljs.core/PersistentQueueSeq";
cljs.core.PersistentQueueSeq.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/PersistentQueueSeq");
});
cljs.core.__GT_PersistentQueueSeq = (function cljs$core$__GT_PersistentQueueSeq(meta,front,rear,__hash){
return (new cljs.core.PersistentQueueSeq(meta,front,rear,__hash));
});
var G__13288_13291 = cljs.core.PersistentQueueSeq.prototype;
var G__13289_13292 = cljs.core.ITER_SYMBOL;
var G__13290_13293 = ((function (G__13288_13291,G__13289_13292){
return (function (){
var this__9929__auto__ = this;
return cljs.core.es6_iterator(this__9929__auto__);
});})(G__13288_13291,G__13289_13292))
;
goog.object.set(G__13288_13291,G__13289_13292,G__13290_13293);
/**
* @constructor
* @implements {cljs.core.IEquiv}
* @implements {cljs.core.IHash}
* @implements {cljs.core.ICollection}
* @implements {cljs.core.IEmptyableCollection}
* @implements {cljs.core.ICounted}
* @implements {cljs.core.ISeq}
* @implements {cljs.core.ISeqable}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.ICloneable}
* @implements {cljs.core.IStack}
* @implements {cljs.core.IIterable}
* @implements {cljs.core.ISequential}
* @implements {cljs.core.IWithMeta}
*/
cljs.core.PersistentQueue = (function (meta,count,front,rear,__hash){
this.meta = meta;
this.count = count;
this.front = front;
this.rear = rear;
this.__hash = __hash;
this.cljs$lang$protocol_mask$partition1$ = 139264;
this.cljs$lang$protocol_mask$partition0$ = 31858766;
});
cljs.core.PersistentQueue.prototype.toString = (function (){
var self__ = this;
var coll = this;
return cljs.core.pr_str_STAR_(coll);
});
cljs.core.PersistentQueue.prototype.equiv = (function (other){
var self__ = this;
var this$ = this;
return this$.cljs$core$IEquiv$_equiv$arity$2(null,other);
});
cljs.core.PersistentQueue.prototype.indexOf = (function() {
var G__13294 = null;
var G__13294__1 = (function (x){
var self__ = this;
var coll = this;
return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));
});
var G__13294__2 = (function (x,start){
var self__ = this;
var coll = this;
return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);
});
G__13294 = function(x,start){
switch(arguments.length){
case 1:
return G__13294__1.call(this,x);
case 2:
return G__13294__2.call(this,x,start);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13294.cljs$core$IFn$_invoke$arity$1 = G__13294__1;
G__13294.cljs$core$IFn$_invoke$arity$2 = G__13294__2;
return G__13294;
})()
;
cljs.core.PersistentQueue.prototype.lastIndexOf = (function() {
var G__13295 = null;
var G__13295__1 = (function (x){
var self__ = this;
var coll = this;
return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(self__.count.cljs$core$IFn$_invoke$arity$1 ? self__.count.cljs$core$IFn$_invoke$arity$1(coll) : self__.count.call(null,coll)));
});
var G__13295__2 = (function (x,start){
var self__ = this;
var coll = this;
return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);
});
G__13295 = function(x,start){
switch(arguments.length){
case 1:
return G__13295__1.call(this,x);
case 2:
return G__13295__2.call(this,x,start);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13295.cljs$core$IFn$_invoke$arity$1 = G__13295__1;
G__13295.cljs$core$IFn$_invoke$arity$2 = G__13295__2;
return G__13295;
})()
;
cljs.core.PersistentQueue.prototype.cljs$core$IIterable$_iterator$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return (new cljs.core.PersistentQueueIter(self__.front,cljs.core._iterator(self__.rear)));
});
cljs.core.PersistentQueue.prototype.cljs$core$IMeta$_meta$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return self__.meta;
});
cljs.core.PersistentQueue.prototype.cljs$core$ICloneable$_clone$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return (new cljs.core.PersistentQueue(self__.meta,self__.count,self__.front,self__.rear,self__.__hash));
});
cljs.core.PersistentQueue.prototype.cljs$core$ICounted$_count$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return self__.count;
});
cljs.core.PersistentQueue.prototype.cljs$core$IStack$_peek$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return cljs.core.first(self__.front);
});
cljs.core.PersistentQueue.prototype.cljs$core$IStack$_pop$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
if(cljs.core.truth_(self__.front)){
var temp__5455__auto__ = cljs.core.next(self__.front);
if(temp__5455__auto__){
var f1 = temp__5455__auto__;
return (new cljs.core.PersistentQueue(self__.meta,(self__.count - (1)),f1,self__.rear,null));
} else {
return (new cljs.core.PersistentQueue(self__.meta,(self__.count - (1)),cljs.core.seq(self__.rear),cljs.core.PersistentVector.EMPTY,null));
}
} else {
return coll__$1;
}
});
cljs.core.PersistentQueue.prototype.cljs$core$IHash$_hash$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
var h__9238__auto__ = self__.__hash;
if(!((h__9238__auto__ == null))){
return h__9238__auto__;
} else {
var h__9238__auto____$1 = cljs.core.hash_ordered_coll(coll__$1);
self__.__hash = h__9238__auto____$1;
return h__9238__auto____$1;
}
});
cljs.core.PersistentQueue.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (coll,other){
var self__ = this;
var coll__$1 = this;
return cljs.core.equiv_sequential(coll__$1,other);
});
cljs.core.PersistentQueue.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return cljs.core._with_meta(cljs.core.PersistentQueue.EMPTY,self__.meta);
});
cljs.core.PersistentQueue.prototype.cljs$core$ISeq$_first$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return cljs.core.first(self__.front);
});
cljs.core.PersistentQueue.prototype.cljs$core$ISeq$_rest$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return cljs.core.rest(cljs.core.seq(coll__$1));
});
cljs.core.PersistentQueue.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
var rear__$1 = cljs.core.seq(self__.rear);
if(cljs.core.truth_((function (){var or__8782__auto__ = self__.front;
if(cljs.core.truth_(or__8782__auto__)){
return or__8782__auto__;
} else {
return rear__$1;
}
})())){
return (new cljs.core.PersistentQueueSeq(null,self__.front,cljs.core.seq(rear__$1),null));
} else {
return null;
}
});
cljs.core.PersistentQueue.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (coll,meta__$1){
var self__ = this;
var coll__$1 = this;
return (new cljs.core.PersistentQueue(meta__$1,self__.count,self__.front,self__.rear,self__.__hash));
});
cljs.core.PersistentQueue.prototype.cljs$core$ICollection$_conj$arity$2 = (function (coll,o){
var self__ = this;
var coll__$1 = this;
if(cljs.core.truth_(self__.front)){
return (new cljs.core.PersistentQueue(self__.meta,(self__.count + (1)),self__.front,cljs.core.conj.cljs$core$IFn$_invoke$arity$2((function (){var or__8782__auto__ = self__.rear;
if(cljs.core.truth_(or__8782__auto__)){
return or__8782__auto__;
} else {
return cljs.core.PersistentVector.EMPTY;
}
})(),o),null));
} else {
return (new cljs.core.PersistentQueue(self__.meta,(self__.count + (1)),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(self__.front,o),cljs.core.PersistentVector.EMPTY,null));
}
});
cljs.core.PersistentQueue.getBasis = (function (){
return new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$meta,cljs.core.cst$sym$count,cljs.core.cst$sym$front,cljs.core.cst$sym$rear,cljs.core.with_meta(cljs.core.cst$sym$__hash,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null))], null);
});
cljs.core.PersistentQueue.cljs$lang$type = true;
cljs.core.PersistentQueue.cljs$lang$ctorStr = "cljs.core/PersistentQueue";
cljs.core.PersistentQueue.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/PersistentQueue");
});
cljs.core.__GT_PersistentQueue = (function cljs$core$__GT_PersistentQueue(meta,count,front,rear,__hash){
return (new cljs.core.PersistentQueue(meta,count,front,rear,__hash));
});
cljs.core.PersistentQueue.EMPTY = (new cljs.core.PersistentQueue(null,(0),null,cljs.core.PersistentVector.EMPTY,cljs.core.empty_ordered_hash));
var G__13296_13299 = cljs.core.PersistentQueue.prototype;
var G__13297_13300 = cljs.core.ITER_SYMBOL;
var G__13298_13301 = ((function (G__13296_13299,G__13297_13300){
return (function (){
var this__9929__auto__ = this;
return cljs.core.es6_iterator(this__9929__auto__);
});})(G__13296_13299,G__13297_13300))
;
goog.object.set(G__13296_13299,G__13297_13300,G__13298_13301);
/**
* @constructor
* @implements {cljs.core.IEquiv}
*/
cljs.core.NeverEquiv = (function (){
this.cljs$lang$protocol_mask$partition0$ = 2097152;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
cljs.core.NeverEquiv.prototype.equiv = (function (other){
var self__ = this;
var this$ = this;
return this$.cljs$core$IEquiv$_equiv$arity$2(null,other);
});
cljs.core.NeverEquiv.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (o,other){
var self__ = this;
var o__$1 = this;
return false;
});
cljs.core.NeverEquiv.getBasis = (function (){
return cljs.core.PersistentVector.EMPTY;
});
cljs.core.NeverEquiv.cljs$lang$type = true;
cljs.core.NeverEquiv.cljs$lang$ctorStr = "cljs.core/NeverEquiv";
cljs.core.NeverEquiv.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/NeverEquiv");
});
cljs.core.__GT_NeverEquiv = (function cljs$core$__GT_NeverEquiv(){
return (new cljs.core.NeverEquiv());
});
cljs.core.never_equiv = (new cljs.core.NeverEquiv());
/**
* Test map equivalence. Returns true if x equals y, otherwise returns false.
*/
cljs.core.equiv_map = (function cljs$core$equiv_map(x,y){
return cljs.core.boolean$((((cljs.core.map_QMARK_(y)) && (!(cljs.core.record_QMARK_(y))))?(((cljs.core.count(x) === cljs.core.count(y)))?((((!((x == null)))?((((x.cljs$lang$protocol_mask$partition0$ & (1048576))) || ((cljs.core.PROTOCOL_SENTINEL === x.cljs$core$IKVReduce$)))?true:(((!x.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IKVReduce,x):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IKVReduce,x)))?cljs.core.reduce_kv((function (_,k,v){
if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$3(y,k,cljs.core.never_equiv),v)){
return true;
} else {
return cljs.core.reduced(false);
}
}),true,x):cljs.core.every_QMARK_((function (xkv){
return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$3(y,cljs.core.first(xkv),cljs.core.never_equiv),cljs.core.second(xkv));
}),x)):null):null));
});
cljs.core.scan_array = (function cljs$core$scan_array(incr,k,array){
var len = array.length;
var i = (0);
while(true){
if((i < len)){
if((k === (array[i]))){
return i;
} else {
var G__13303 = (i + incr);
i = G__13303;
continue;
}
} else {
return null;
}
break;
}
});
cljs.core.obj_map_compare_keys = (function cljs$core$obj_map_compare_keys(a,b){
var a__$1 = cljs.core.hash(a);
var b__$1 = cljs.core.hash(b);
if((a__$1 < b__$1)){
return (-1);
} else {
if((a__$1 > b__$1)){
return (1);
} else {
return (0);
}
}
});
cljs.core.obj_map__GT_hash_map = (function cljs$core$obj_map__GT_hash_map(m,k,v){
var ks = m.keys;
var len = ks.length;
var so = m.strobj;
var mm = cljs.core.meta(m);
var i = (0);
var out = cljs.core.transient$(cljs.core.PersistentHashMap.EMPTY);
while(true){
if((i < len)){
var k__$1 = (ks[i]);
var G__13304 = (i + (1));
var G__13305 = cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(out,k__$1,goog.object.get(so,k__$1));
i = G__13304;
out = G__13305;
continue;
} else {
return cljs.core._with_meta(cljs.core.persistent_BANG_(cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(out,k,v)),mm);
}
break;
}
});
cljs.core.obj_clone = (function cljs$core$obj_clone(obj,ks){
var new_obj = {};
var l = ks.length;
var i_13311 = (0);
while(true){
if((i_13311 < l)){
var k_13312 = (ks[i_13311]);
var G__13308_13313 = new_obj;
var G__13309_13314 = k_13312;
var G__13310_13315 = goog.object.get(obj,k_13312);
goog.object.set(G__13308_13313,G__13309_13314,G__13310_13315);
var G__13316 = (i_13311 + (1));
i_13311 = G__13316;
continue;
} else {
}
break;
}
return new_obj;
});
/**
* @constructor
* @implements {cljs.core.IKVReduce}
* @implements {cljs.core.IEquiv}
* @implements {cljs.core.IHash}
* @implements {cljs.core.IFn}
* @implements {cljs.core.ICollection}
* @implements {cljs.core.IEditableCollection}
* @implements {cljs.core.IFind}
* @implements {cljs.core.IEmptyableCollection}
* @implements {cljs.core.ICounted}
* @implements {cljs.core.ISeqable}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.IWithMeta}
* @implements {cljs.core.IAssociative}
* @implements {cljs.core.IMap}
* @implements {cljs.core.ILookup}
*/
cljs.core.ObjMap = (function (meta,keys,strobj,update_count,__hash){
this.meta = meta;
this.keys = keys;
this.strobj = strobj;
this.update_count = update_count;
this.__hash = __hash;
this.cljs$lang$protocol_mask$partition0$ = 16123663;
this.cljs$lang$protocol_mask$partition1$ = 4;
});
cljs.core.ObjMap.prototype.cljs$core$IFind$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.ObjMap.prototype.cljs$core$IFind$_find$arity$2 = (function (coll,k){
var self__ = this;
var coll__$1 = this;
if((goog.isString(k)) && (!((cljs.core.scan_array((1),k,self__.keys) == null)))){
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,(self__.strobj[k])], null);
} else {
return null;
}
});
cljs.core.ObjMap.prototype.toString = (function (){
var self__ = this;
var coll = this;
return cljs.core.pr_str_STAR_(coll);
});
cljs.core.ObjMap.prototype.equiv = (function (other){
var self__ = this;
var this$ = this;
return this$.cljs$core$IEquiv$_equiv$arity$2(null,other);
});
cljs.core.ObjMap.prototype.cljs$core$ILookup$_lookup$arity$2 = (function (coll,k){
var self__ = this;
var coll__$1 = this;
return coll__$1.cljs$core$ILookup$_lookup$arity$3(null,k,null);
});
cljs.core.ObjMap.prototype.cljs$core$ILookup$_lookup$arity$3 = (function (coll,k,not_found){
var self__ = this;
var coll__$1 = this;
if((goog.isString(k)) && (!((cljs.core.scan_array((1),k,self__.keys) == null)))){
return (self__.strobj[k]);
} else {
return not_found;
}
});
cljs.core.ObjMap.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 = (function (coll,f,init){
var self__ = this;
var coll__$1 = this;
var len = self__.keys.length;
var keys__$1 = self__.keys.sort(cljs.core.obj_map_compare_keys);
var init__$1 = init;
while(true){
if(cljs.core.seq(keys__$1)){
var k = cljs.core.first(keys__$1);
var init__$2 = (function (){var G__13319 = init__$1;
var G__13320 = k;
var G__13321 = (self__.strobj[k]);
return (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__13319,G__13320,G__13321) : f.call(null,G__13319,G__13320,G__13321));
})();
if(cljs.core.reduced_QMARK_(init__$2)){
return cljs.core.deref(init__$2);
} else {
var G__13322 = cljs.core.rest(keys__$1);
var G__13323 = init__$2;
keys__$1 = G__13322;
init__$1 = G__13323;
continue;
}
} else {
return init__$1;
}
break;
}
});
cljs.core.ObjMap.prototype.cljs$core$IMeta$_meta$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return self__.meta;
});
cljs.core.ObjMap.prototype.cljs$core$ICounted$_count$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return self__.keys.length;
});
cljs.core.ObjMap.prototype.cljs$core$IHash$_hash$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
var h__9238__auto__ = self__.__hash;
if(!((h__9238__auto__ == null))){
return h__9238__auto__;
} else {
var h__9238__auto____$1 = cljs.core.hash_unordered_coll(coll__$1);
self__.__hash = h__9238__auto____$1;
return h__9238__auto____$1;
}
});
cljs.core.ObjMap.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (coll,other){
var self__ = this;
var coll__$1 = this;
return cljs.core.equiv_map(coll__$1,other);
});
cljs.core.ObjMap.prototype.cljs$core$IEditableCollection$_as_transient$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return cljs.core.transient$(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentHashMap.EMPTY,coll__$1));
});
cljs.core.ObjMap.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return cljs.core._with_meta(cljs.core.ObjMap.EMPTY,self__.meta);
});
cljs.core.ObjMap.prototype.cljs$core$IMap$_dissoc$arity$2 = (function (coll,k){
var self__ = this;
var coll__$1 = this;
if((goog.isString(k)) && (!((cljs.core.scan_array((1),k,self__.keys) == null)))){
var new_keys = cljs.core.aclone(self__.keys);
var new_strobj = cljs.core.obj_clone(self__.strobj,self__.keys);
new_keys.splice(cljs.core.scan_array((1),k,new_keys),(1));
delete new_strobj[k];
return (new cljs.core.ObjMap(self__.meta,new_keys,new_strobj,(self__.update_count + (1)),null));
} else {
return coll__$1;
}
});
cljs.core.ObjMap.prototype.cljs$core$IAssociative$_assoc$arity$3 = (function (coll,k,v){
var self__ = this;
var coll__$1 = this;
if(goog.isString(k)){
if(((self__.update_count > cljs.core.ObjMap.HASHMAP_THRESHOLD)) || ((self__.keys.length >= cljs.core.ObjMap.HASHMAP_THRESHOLD))){
return cljs.core.obj_map__GT_hash_map(coll__$1,k,v);
} else {
if(!((cljs.core.scan_array((1),k,self__.keys) == null))){
var new_strobj = cljs.core.obj_clone(self__.strobj,self__.keys);
goog.object.set(new_strobj,k,v);
return (new cljs.core.ObjMap(self__.meta,self__.keys,new_strobj,(self__.update_count + (1)),null));
} else {
var new_strobj = cljs.core.obj_clone(self__.strobj,self__.keys);
var new_keys = cljs.core.aclone(self__.keys);
goog.object.set(new_strobj,k,v);
new_keys.push(k);
return (new cljs.core.ObjMap(self__.meta,new_keys,new_strobj,(self__.update_count + (1)),null));
}
}
} else {
return cljs.core.obj_map__GT_hash_map(coll__$1,k,v);
}
});
cljs.core.ObjMap.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 = (function (coll,k){
var self__ = this;
var coll__$1 = this;
if((goog.isString(k)) && (!((cljs.core.scan_array((1),k,self__.keys) == null)))){
return true;
} else {
return false;
}
});
cljs.core.ObjMap.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
if((self__.keys.length > (0))){
return cljs.core.map.cljs$core$IFn$_invoke$arity$2(((function (coll__$1){
return (function (p1__13317_SHARP_){
return (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[p1__13317_SHARP_,(self__.strobj[p1__13317_SHARP_])],null));
});})(coll__$1))
,self__.keys.sort(cljs.core.obj_map_compare_keys));
} else {
return null;
}
});
cljs.core.ObjMap.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (coll,meta__$1){
var self__ = this;
var coll__$1 = this;
return (new cljs.core.ObjMap(meta__$1,self__.keys,self__.strobj,self__.update_count,self__.__hash));
});
cljs.core.ObjMap.prototype.cljs$core$ICollection$_conj$arity$2 = (function (coll,entry){
var self__ = this;
var coll__$1 = this;
if(cljs.core.vector_QMARK_(entry)){
return coll__$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.cljs$core$IFn$_invoke$arity$2(entry,(0)),cljs.core._nth.cljs$core$IFn$_invoke$arity$2(entry,(1)));
} else {
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,coll__$1,entry);
}
});
cljs.core.ObjMap.prototype.call = (function() {
var G__13324 = null;
var G__13324__2 = (function (self__,k){
var self__ = this;
var self____$1 = this;
var coll = self____$1;
return coll.cljs$core$ILookup$_lookup$arity$2(null,k);
});
var G__13324__3 = (function (self__,k,not_found){
var self__ = this;
var self____$1 = this;
var coll = self____$1;
return coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);
});
G__13324 = function(self__,k,not_found){
switch(arguments.length){
case 2:
return G__13324__2.call(this,self__,k);
case 3:
return G__13324__3.call(this,self__,k,not_found);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13324.cljs$core$IFn$_invoke$arity$2 = G__13324__2;
G__13324.cljs$core$IFn$_invoke$arity$3 = G__13324__3;
return G__13324;
})()
;
cljs.core.ObjMap.prototype.apply = (function (self__,args13318){
var self__ = this;
var self____$1 = this;
return self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args13318)));
});
cljs.core.ObjMap.prototype.cljs$core$IFn$_invoke$arity$1 = (function (k){
var self__ = this;
var coll = this;
return coll.cljs$core$ILookup$_lookup$arity$2(null,k);
});
cljs.core.ObjMap.prototype.cljs$core$IFn$_invoke$arity$2 = (function (k,not_found){
var self__ = this;
var coll = this;
return coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);
});
cljs.core.ObjMap.getBasis = (function (){
return new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$meta,cljs.core.cst$sym$keys,cljs.core.cst$sym$strobj,cljs.core.cst$sym$update_DASH_count,cljs.core.with_meta(cljs.core.cst$sym$__hash,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null))], null);
});
cljs.core.ObjMap.cljs$lang$type = true;
cljs.core.ObjMap.cljs$lang$ctorStr = "cljs.core/ObjMap";
cljs.core.ObjMap.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/ObjMap");
});
cljs.core.__GT_ObjMap = (function cljs$core$__GT_ObjMap(meta,keys,strobj,update_count,__hash){
return (new cljs.core.ObjMap(meta,keys,strobj,update_count,__hash));
});
cljs.core.ObjMap.EMPTY = (new cljs.core.ObjMap(null,[],{},(0),cljs.core.empty_unordered_hash));
cljs.core.ObjMap.HASHMAP_THRESHOLD = (8);
cljs.core.ObjMap.fromObject = (function (ks,obj){
return (new cljs.core.ObjMap(null,ks,obj,(0),null));
});
/**
* @constructor
*/
cljs.core.RecordIter = (function (i,record,base_count,fields,ext_map_iter){
this.i = i;
this.record = record;
this.base_count = base_count;
this.fields = fields;
this.ext_map_iter = ext_map_iter;
});
cljs.core.RecordIter.prototype.hasNext = (function (){
var self__ = this;
var _ = this;
var or__8782__auto__ = (self__.i < self__.base_count);
if(or__8782__auto__){
return or__8782__auto__;
} else {
return self__.ext_map_iter.hasNext();
}
});
cljs.core.RecordIter.prototype.next = (function (){
var self__ = this;
var _ = this;
if((self__.i < self__.base_count)){
var k = cljs.core.nth.cljs$core$IFn$_invoke$arity$2(self__.fields,self__.i);
self__.i = (self__.i + (1));
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [k,cljs.core._lookup.cljs$core$IFn$_invoke$arity$2(self__.record,k)], null);
} else {
return self__.ext_map_iter.next();
}
});
cljs.core.RecordIter.prototype.remove = (function (){
var self__ = this;
var _ = this;
return (new Error("Unsupported operation"));
});
cljs.core.RecordIter.getBasis = (function (){
return new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(cljs.core.cst$sym$i,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null)),cljs.core.cst$sym$record,cljs.core.cst$sym$base_DASH_count,cljs.core.cst$sym$fields,cljs.core.cst$sym$ext_DASH_map_DASH_iter], null);
});
cljs.core.RecordIter.cljs$lang$type = true;
cljs.core.RecordIter.cljs$lang$ctorStr = "cljs.core/RecordIter";
cljs.core.RecordIter.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/RecordIter");
});
cljs.core.__GT_RecordIter = (function cljs$core$__GT_RecordIter(i,record,base_count,fields,ext_map_iter){
return (new cljs.core.RecordIter(i,record,base_count,fields,ext_map_iter));
});
/**
* @constructor
*/
cljs.core.ES6EntriesIterator = (function (s){
this.s = s;
});
cljs.core.ES6EntriesIterator.prototype.next = (function (){
var self__ = this;
var _ = this;
if(!((self__.s == null))){
var vec__13327 = cljs.core.first(self__.s);
var k = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__13327,(0),null);
var v = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__13327,(1),null);
self__.s = cljs.core.next(self__.s);
return ({"value": [k,v], "done": false});
} else {
return ({"value": null, "done": true});
}
});
cljs.core.ES6EntriesIterator.getBasis = (function (){
return new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(cljs.core.cst$sym$s,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null))], null);
});
cljs.core.ES6EntriesIterator.cljs$lang$type = true;
cljs.core.ES6EntriesIterator.cljs$lang$ctorStr = "cljs.core/ES6EntriesIterator";
cljs.core.ES6EntriesIterator.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/ES6EntriesIterator");
});
cljs.core.__GT_ES6EntriesIterator = (function cljs$core$__GT_ES6EntriesIterator(s){
return (new cljs.core.ES6EntriesIterator(s));
});
cljs.core.es6_entries_iterator = (function cljs$core$es6_entries_iterator(coll){
return (new cljs.core.ES6EntriesIterator(cljs.core.seq(coll)));
});
/**
* @constructor
*/
cljs.core.ES6SetEntriesIterator = (function (s){
this.s = s;
});
cljs.core.ES6SetEntriesIterator.prototype.next = (function (){
var self__ = this;
var _ = this;
if(!((self__.s == null))){
var x = cljs.core.first(self__.s);
self__.s = cljs.core.next(self__.s);
return ({"value": [x,x], "done": false});
} else {
return ({"value": null, "done": true});
}
});
cljs.core.ES6SetEntriesIterator.getBasis = (function (){
return new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(cljs.core.cst$sym$s,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null))], null);
});
cljs.core.ES6SetEntriesIterator.cljs$lang$type = true;
cljs.core.ES6SetEntriesIterator.cljs$lang$ctorStr = "cljs.core/ES6SetEntriesIterator";
cljs.core.ES6SetEntriesIterator.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/ES6SetEntriesIterator");
});
cljs.core.__GT_ES6SetEntriesIterator = (function cljs$core$__GT_ES6SetEntriesIterator(s){
return (new cljs.core.ES6SetEntriesIterator(s));
});
cljs.core.es6_set_entries_iterator = (function cljs$core$es6_set_entries_iterator(coll){
return (new cljs.core.ES6SetEntriesIterator(cljs.core.seq(coll)));
});
cljs.core.array_index_of_nil_QMARK_ = (function cljs$core$array_index_of_nil_QMARK_(arr){
var len = arr.length;
var i = (0);
while(true){
if((len <= i)){
return (-1);
} else {
if(((arr[i]) == null)){
return i;
} else {
var G__13330 = (i + (2));
i = G__13330;
continue;
}
}
break;
}
});
cljs.core.array_index_of_keyword_QMARK_ = (function cljs$core$array_index_of_keyword_QMARK_(arr,k){
var len = arr.length;
var kstr = k.fqn;
var i = (0);
while(true){
if((len <= i)){
return (-1);
} else {
if((((arr[i]) instanceof cljs.core.Keyword)) && ((kstr === (arr[i]).fqn))){
return i;
} else {
var G__13331 = (i + (2));
i = G__13331;
continue;
}
}
break;
}
});
cljs.core.array_index_of_symbol_QMARK_ = (function cljs$core$array_index_of_symbol_QMARK_(arr,k){
var len = arr.length;
var kstr = k.str;
var i = (0);
while(true){
if((len <= i)){
return (-1);
} else {
if((((arr[i]) instanceof cljs.core.Symbol)) && ((kstr === (arr[i]).str))){
return i;
} else {
var G__13332 = (i + (2));
i = G__13332;
continue;
}
}
break;
}
});
cljs.core.array_index_of_identical_QMARK_ = (function cljs$core$array_index_of_identical_QMARK_(arr,k){
var len = arr.length;
var i = (0);
while(true){
if((len <= i)){
return (-1);
} else {
if((k === (arr[i]))){
return i;
} else {
var G__13333 = (i + (2));
i = G__13333;
continue;
}
}
break;
}
});
cljs.core.array_index_of_equiv_QMARK_ = (function cljs$core$array_index_of_equiv_QMARK_(arr,k){
var len = arr.length;
var i = (0);
while(true){
if((len <= i)){
return (-1);
} else {
if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(k,(arr[i]))){
return i;
} else {
var G__13334 = (i + (2));
i = G__13334;
continue;
}
}
break;
}
});
cljs.core.array_index_of = (function cljs$core$array_index_of(arr,k){
if((k instanceof cljs.core.Keyword)){
return cljs.core.array_index_of_keyword_QMARK_(arr,k);
} else {
if((goog.isString(k)) || (typeof k === 'number')){
return cljs.core.array_index_of_identical_QMARK_(arr,k);
} else {
if((k instanceof cljs.core.Symbol)){
return cljs.core.array_index_of_symbol_QMARK_(arr,k);
} else {
if((k == null)){
return cljs.core.array_index_of_nil_QMARK_(arr);
} else {
return cljs.core.array_index_of_equiv_QMARK_(arr,k);
}
}
}
}
});
cljs.core.array_map_index_of = (function cljs$core$array_map_index_of(m,k){
return cljs.core.array_index_of(m.arr,k);
});
cljs.core.array_extend_kv = (function cljs$core$array_extend_kv(arr,k,v){
var l = arr.length;
var narr = (new Array((l + (2))));
var i_13335 = (0);
while(true){
if((i_13335 < l)){
(narr[i_13335] = (arr[i_13335]));
var G__13336 = (i_13335 + (1));
i_13335 = G__13336;
continue;
} else {
}
break;
}
(narr[l] = k);
(narr[(l + (1))] = v);
return narr;
});
cljs.core.array_map_extend_kv = (function cljs$core$array_map_extend_kv(m,k,v){
return cljs.core.array_extend_kv(m.arr,k,v);
});
/**
* @constructor
* @implements {cljs.core.IIndexed}
* @implements {cljs.core.IVector}
* @implements {cljs.core.IEquiv}
* @implements {cljs.core.IHash}
* @implements {cljs.core.IFn}
* @implements {cljs.core.ICollection}
* @implements {cljs.core.IFind}
* @implements {cljs.core.IEmptyableCollection}
* @implements {cljs.core.ICounted}
* @implements {cljs.core.ISeqable}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.IStack}
* @implements {cljs.core.IMapEntry}
* @implements {cljs.core.ISequential}
* @implements {cljs.core.IWithMeta}
* @implements {cljs.core.IAssociative}
* @implements {cljs.core.ILookup}
* @implements {cljs.core.IReduce}
*/
cljs.core.MapEntry = (function (key,val,__hash){
this.key = key;
this.val = val;
this.__hash = __hash;
this.cljs$lang$protocol_mask$partition0$ = 32402207;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
cljs.core.MapEntry.prototype.cljs$core$IFind$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.MapEntry.prototype.cljs$core$IFind$_find$arity$2 = (function (node,k){
var self__ = this;
var node__$1 = this;
var G__13338 = k;
switch (G__13338) {
case (0):
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),self__.key], null);
break;
case (1):
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),self__.val], null);
break;
default:
return null;
}
});
cljs.core.MapEntry.prototype.indexOf = (function() {
var G__13340 = null;
var G__13340__1 = (function (x){
var self__ = this;
var coll = this;
return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));
});
var G__13340__2 = (function (x,start){
var self__ = this;
var coll = this;
return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);
});
G__13340 = function(x,start){
switch(arguments.length){
case 1:
return G__13340__1.call(this,x);
case 2:
return G__13340__2.call(this,x,start);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13340.cljs$core$IFn$_invoke$arity$1 = G__13340__1;
G__13340.cljs$core$IFn$_invoke$arity$2 = G__13340__2;
return G__13340;
})()
;
cljs.core.MapEntry.prototype.lastIndexOf = (function() {
var G__13341 = null;
var G__13341__1 = (function (x){
var self__ = this;
var coll = this;
return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));
});
var G__13341__2 = (function (x,start){
var self__ = this;
var coll = this;
return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);
});
G__13341 = function(x,start){
switch(arguments.length){
case 1:
return G__13341__1.call(this,x);
case 2:
return G__13341__2.call(this,x,start);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13341.cljs$core$IFn$_invoke$arity$1 = G__13341__1;
G__13341.cljs$core$IFn$_invoke$arity$2 = G__13341__2;
return G__13341;
})()
;
cljs.core.MapEntry.prototype.cljs$core$ILookup$_lookup$arity$2 = (function (node,k){
var self__ = this;
var node__$1 = this;
return node__$1.cljs$core$IIndexed$_nth$arity$3(null,k,null);
});
cljs.core.MapEntry.prototype.cljs$core$ILookup$_lookup$arity$3 = (function (node,k,not_found){
var self__ = this;
var node__$1 = this;
return node__$1.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);
});
cljs.core.MapEntry.prototype.cljs$core$IIndexed$_nth$arity$2 = (function (node,n){
var self__ = this;
var node__$1 = this;
if((n === (0))){
return self__.key;
} else {
if((n === (1))){
return self__.val;
} else {
throw (new Error("Index out of bounds"));
}
}
});
cljs.core.MapEntry.prototype.cljs$core$IIndexed$_nth$arity$3 = (function (node,n,not_found){
var self__ = this;
var node__$1 = this;
if((n === (0))){
return self__.key;
} else {
if((n === (1))){
return self__.val;
} else {
return not_found;
}
}
});
cljs.core.MapEntry.prototype.cljs$core$IVector$_assoc_n$arity$3 = (function (node,n,v){
var self__ = this;
var node__$1 = this;
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val], null).cljs$core$IVector$_assoc_n$arity$3(null,n,v);
});
cljs.core.MapEntry.prototype.cljs$core$IMeta$_meta$arity$1 = (function (node){
var self__ = this;
var node__$1 = this;
return null;
});
cljs.core.MapEntry.prototype.cljs$core$ICounted$_count$arity$1 = (function (node){
var self__ = this;
var node__$1 = this;
return (2);
});
cljs.core.MapEntry.prototype.cljs$core$IMapEntry$_key$arity$1 = (function (node){
var self__ = this;
var node__$1 = this;
return self__.key;
});
cljs.core.MapEntry.prototype.cljs$core$IMapEntry$_val$arity$1 = (function (node){
var self__ = this;
var node__$1 = this;
return self__.val;
});
cljs.core.MapEntry.prototype.cljs$core$IStack$_peek$arity$1 = (function (node){
var self__ = this;
var node__$1 = this;
return self__.val;
});
cljs.core.MapEntry.prototype.cljs$core$IStack$_pop$arity$1 = (function (node){
var self__ = this;
var node__$1 = this;
return new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key], null);
});
cljs.core.MapEntry.prototype.cljs$core$IHash$_hash$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
var h__9238__auto__ = self__.__hash;
if(!((h__9238__auto__ == null))){
return h__9238__auto__;
} else {
var h__9238__auto____$1 = cljs.core.hash_ordered_coll(coll__$1);
self__.__hash = h__9238__auto____$1;
return h__9238__auto____$1;
}
});
cljs.core.MapEntry.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (coll,other){
var self__ = this;
var coll__$1 = this;
return cljs.core.equiv_sequential(coll__$1,other);
});
cljs.core.MapEntry.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = (function (node){
var self__ = this;
var node__$1 = this;
return cljs.core.PersistentVector.EMPTY;
});
cljs.core.MapEntry.prototype.cljs$core$IReduce$_reduce$arity$2 = (function (node,f){
var self__ = this;
var node__$1 = this;
return cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2(node__$1,f);
});
cljs.core.MapEntry.prototype.cljs$core$IReduce$_reduce$arity$3 = (function (node,f,start){
var self__ = this;
var node__$1 = this;
return cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3(node__$1,f,start);
});
cljs.core.MapEntry.prototype.cljs$core$IAssociative$_assoc$arity$3 = (function (node,k,v){
var self__ = this;
var node__$1 = this;
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val], null),k,v);
});
cljs.core.MapEntry.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 = (function (node,k){
var self__ = this;
var node__$1 = this;
return ((k === (0))) || ((k === (1)));
});
cljs.core.MapEntry.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (node){
var self__ = this;
var node__$1 = this;
var x__9736__auto__ = self__.key;
return cljs.core._conj((function (){var x__9736__auto____$1 = self__.val;
return cljs.core._conj(cljs.core.List.EMPTY,x__9736__auto____$1);
})(),x__9736__auto__);
});
cljs.core.MapEntry.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (node,meta){
var self__ = this;
var node__$1 = this;
return cljs.core.with_meta(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val], null),meta);
});
cljs.core.MapEntry.prototype.cljs$core$ICollection$_conj$arity$2 = (function (node,o){
var self__ = this;
var node__$1 = this;
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val,o], null);
});
cljs.core.MapEntry.prototype.call = (function() {
var G__13342 = null;
var G__13342__2 = (function (self__,k){
var self__ = this;
var self____$1 = this;
var node = self____$1;
return node.cljs$core$IIndexed$_nth$arity$2(null,k);
});
var G__13342__3 = (function (self__,k,not_found){
var self__ = this;
var self____$1 = this;
var node = self____$1;
return node.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);
});
G__13342 = function(self__,k,not_found){
switch(arguments.length){
case 2:
return G__13342__2.call(this,self__,k);
case 3:
return G__13342__3.call(this,self__,k,not_found);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13342.cljs$core$IFn$_invoke$arity$2 = G__13342__2;
G__13342.cljs$core$IFn$_invoke$arity$3 = G__13342__3;
return G__13342;
})()
;
cljs.core.MapEntry.prototype.apply = (function (self__,args13337){
var self__ = this;
var self____$1 = this;
return self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args13337)));
});
cljs.core.MapEntry.prototype.cljs$core$IFn$_invoke$arity$1 = (function (k){
var self__ = this;
var node = this;
return node.cljs$core$IIndexed$_nth$arity$2(null,k);
});
cljs.core.MapEntry.prototype.cljs$core$IFn$_invoke$arity$2 = (function (k,not_found){
var self__ = this;
var node = this;
return node.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);
});
cljs.core.MapEntry.getBasis = (function (){
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$key,cljs.core.cst$sym$val,cljs.core.with_meta(cljs.core.cst$sym$__hash,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null))], null);
});
cljs.core.MapEntry.cljs$lang$type = true;
cljs.core.MapEntry.cljs$lang$ctorStr = "cljs.core/MapEntry";
cljs.core.MapEntry.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/MapEntry");
});
cljs.core.__GT_MapEntry = (function cljs$core$__GT_MapEntry(key,val,__hash){
return (new cljs.core.MapEntry(key,val,__hash));
});
/**
* @constructor
* @implements {cljs.core.IEquiv}
* @implements {cljs.core.IHash}
* @implements {cljs.core.ICollection}
* @implements {cljs.core.IEmptyableCollection}
* @implements {cljs.core.ICounted}
* @implements {cljs.core.ISeq}
* @implements {cljs.core.INext}
* @implements {cljs.core.ISeqable}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.ISequential}
* @implements {cljs.core.IWithMeta}
* @implements {cljs.core.IReduce}
*/
cljs.core.PersistentArrayMapSeq = (function (arr,i,_meta){
this.arr = arr;
this.i = i;
this._meta = _meta;
this.cljs$lang$protocol_mask$partition0$ = 32374990;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
cljs.core.PersistentArrayMapSeq.prototype.toString = (function (){
var self__ = this;
var coll = this;
return cljs.core.pr_str_STAR_(coll);
});
cljs.core.PersistentArrayMapSeq.prototype.equiv = (function (other){
var self__ = this;
var this$ = this;
return this$.cljs$core$IEquiv$_equiv$arity$2(null,other);
});
cljs.core.PersistentArrayMapSeq.prototype.indexOf = (function() {
var G__13343 = null;
var G__13343__1 = (function (x){
var self__ = this;
var coll = this;
return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));
});
var G__13343__2 = (function (x,start){
var self__ = this;
var coll = this;
return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);
});
G__13343 = function(x,start){
switch(arguments.length){
case 1:
return G__13343__1.call(this,x);
case 2:
return G__13343__2.call(this,x,start);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13343.cljs$core$IFn$_invoke$arity$1 = G__13343__1;
G__13343.cljs$core$IFn$_invoke$arity$2 = G__13343__2;
return G__13343;
})()
;
cljs.core.PersistentArrayMapSeq.prototype.lastIndexOf = (function() {
var G__13344 = null;
var G__13344__1 = (function (x){
var self__ = this;
var coll = this;
return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));
});
var G__13344__2 = (function (x,start){
var self__ = this;
var coll = this;
return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);
});
G__13344 = function(x,start){
switch(arguments.length){
case 1:
return G__13344__1.call(this,x);
case 2:
return G__13344__2.call(this,x,start);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13344.cljs$core$IFn$_invoke$arity$1 = G__13344__1;
G__13344.cljs$core$IFn$_invoke$arity$2 = G__13344__2;
return G__13344;
})()
;
cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IMeta$_meta$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return self__._meta;
});
cljs.core.PersistentArrayMapSeq.prototype.cljs$core$INext$_next$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
if((self__.i < (self__.arr.length - (2)))){
return (new cljs.core.PersistentArrayMapSeq(self__.arr,(self__.i + (2)),self__._meta));
} else {
return null;
}
});
cljs.core.PersistentArrayMapSeq.prototype.cljs$core$ICounted$_count$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return ((self__.arr.length - self__.i) / (2));
});
cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IHash$_hash$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return cljs.core.hash_ordered_coll(coll__$1);
});
cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (coll,other){
var self__ = this;
var coll__$1 = this;
return cljs.core.equiv_sequential(coll__$1,other);
});
cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return cljs.core._with_meta(cljs.core.List.EMPTY,self__._meta);
});
cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IReduce$_reduce$arity$2 = (function (coll,f){
var self__ = this;
var coll__$1 = this;
return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);
});
cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IReduce$_reduce$arity$3 = (function (coll,f,start){
var self__ = this;
var coll__$1 = this;
return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);
});
cljs.core.PersistentArrayMapSeq.prototype.cljs$core$ISeq$_first$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(self__.arr[self__.i]),(self__.arr[(self__.i + (1))])], null);
});
cljs.core.PersistentArrayMapSeq.prototype.cljs$core$ISeq$_rest$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
if((self__.i < (self__.arr.length - (2)))){
return (new cljs.core.PersistentArrayMapSeq(self__.arr,(self__.i + (2)),self__._meta));
} else {
return cljs.core.List.EMPTY;
}
});
cljs.core.PersistentArrayMapSeq.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return coll__$1;
});
cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (coll,new_meta){
var self__ = this;
var coll__$1 = this;
return (new cljs.core.PersistentArrayMapSeq(self__.arr,self__.i,new_meta));
});
cljs.core.PersistentArrayMapSeq.prototype.cljs$core$ICollection$_conj$arity$2 = (function (coll,o){
var self__ = this;
var coll__$1 = this;
return cljs.core.cons(o,coll__$1);
});
cljs.core.PersistentArrayMapSeq.getBasis = (function (){
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$arr,cljs.core.cst$sym$i,cljs.core.cst$sym$_meta], null);
});
cljs.core.PersistentArrayMapSeq.cljs$lang$type = true;
cljs.core.PersistentArrayMapSeq.cljs$lang$ctorStr = "cljs.core/PersistentArrayMapSeq";
cljs.core.PersistentArrayMapSeq.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/PersistentArrayMapSeq");
});
cljs.core.__GT_PersistentArrayMapSeq = (function cljs$core$__GT_PersistentArrayMapSeq(arr,i,_meta){
return (new cljs.core.PersistentArrayMapSeq(arr,i,_meta));
});
var G__13345_13348 = cljs.core.PersistentArrayMapSeq.prototype;
var G__13346_13349 = cljs.core.ITER_SYMBOL;
var G__13347_13350 = ((function (G__13345_13348,G__13346_13349){
return (function (){
var this__9929__auto__ = this;
return cljs.core.es6_iterator(this__9929__auto__);
});})(G__13345_13348,G__13346_13349))
;
goog.object.set(G__13345_13348,G__13346_13349,G__13347_13350);
cljs.core.persistent_array_map_seq = (function cljs$core$persistent_array_map_seq(arr,i,_meta){
if((i <= (arr.length - (2)))){
return (new cljs.core.PersistentArrayMapSeq(arr,i,_meta));
} else {
return null;
}
});
/**
* @constructor
*/
cljs.core.PersistentArrayMapIterator = (function (arr,i,cnt){
this.arr = arr;
this.i = i;
this.cnt = cnt;
});
cljs.core.PersistentArrayMapIterator.prototype.hasNext = (function (){
var self__ = this;
var _ = this;
return (self__.i < self__.cnt);
});
cljs.core.PersistentArrayMapIterator.prototype.next = (function (){
var self__ = this;
var _ = this;
var ret = new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(self__.arr[self__.i]),(self__.arr[(self__.i + (1))])], null);
self__.i = (self__.i + (2));
return ret;
});
cljs.core.PersistentArrayMapIterator.getBasis = (function (){
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$arr,cljs.core.with_meta(cljs.core.cst$sym$i,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null)),cljs.core.cst$sym$cnt], null);
});
cljs.core.PersistentArrayMapIterator.cljs$lang$type = true;
cljs.core.PersistentArrayMapIterator.cljs$lang$ctorStr = "cljs.core/PersistentArrayMapIterator";
cljs.core.PersistentArrayMapIterator.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/PersistentArrayMapIterator");
});
cljs.core.__GT_PersistentArrayMapIterator = (function cljs$core$__GT_PersistentArrayMapIterator(arr,i,cnt){
return (new cljs.core.PersistentArrayMapIterator(arr,i,cnt));
});
/**
* @constructor
* @implements {cljs.core.IKVReduce}
* @implements {cljs.core.IEquiv}
* @implements {cljs.core.IHash}
* @implements {cljs.core.IFn}
* @implements {cljs.core.ICollection}
* @implements {cljs.core.IEditableCollection}
* @implements {cljs.core.IFind}
* @implements {cljs.core.IEmptyableCollection}
* @implements {cljs.core.ICounted}
* @implements {cljs.core.ISeqable}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.ICloneable}
* @implements {cljs.core.IIterable}
* @implements {cljs.core.IWithMeta}
* @implements {cljs.core.IAssociative}
* @implements {cljs.core.IMap}
* @implements {cljs.core.ILookup}
* @implements {cljs.core.IReduce}
*/
cljs.core.PersistentArrayMap = (function (meta,cnt,arr,__hash){
this.meta = meta;
this.cnt = cnt;
this.arr = arr;
this.__hash = __hash;
this.cljs$lang$protocol_mask$partition0$ = 16647951;
this.cljs$lang$protocol_mask$partition1$ = 139268;
});
cljs.core.PersistentArrayMap.prototype.cljs$core$IFind$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentArrayMap.prototype.cljs$core$IFind$_find$arity$2 = (function (coll,k){
var self__ = this;
var coll__$1 = this;
var idx = cljs.core.array_map_index_of(coll__$1,k);
if((idx === (-1))){
return null;
} else {
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(self__.arr[idx]),(self__.arr[(idx + (1))])], null);
}
});
cljs.core.PersistentArrayMap.prototype.toString = (function (){
var self__ = this;
var coll = this;
return cljs.core.pr_str_STAR_(coll);
});
cljs.core.PersistentArrayMap.prototype.equiv = (function (other){
var self__ = this;
var this$ = this;
return this$.cljs$core$IEquiv$_equiv$arity$2(null,other);
});
cljs.core.PersistentArrayMap.prototype.keys = (function (){
var self__ = this;
var coll = this;
return cljs.core.es6_iterator(cljs.core.keys(coll));
});
cljs.core.PersistentArrayMap.prototype.entries = (function (){
var self__ = this;
var coll = this;
return cljs.core.es6_entries_iterator(cljs.core.seq(coll));
});
cljs.core.PersistentArrayMap.prototype.values = (function (){
var self__ = this;
var coll = this;
return cljs.core.es6_iterator(cljs.core.vals(coll));
});
cljs.core.PersistentArrayMap.prototype.has = (function (k){
var self__ = this;
var coll = this;
return cljs.core.contains_QMARK_(coll,k);
});
cljs.core.PersistentArrayMap.prototype.get = (function (k,not_found){
var self__ = this;
var coll = this;
return coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);
});
cljs.core.PersistentArrayMap.prototype.forEach = (function (f){
var self__ = this;
var coll = this;
var seq__13352 = cljs.core.seq(coll);
var chunk__13353 = null;
var count__13354 = (0);
var i__13355 = (0);
while(true){
if((i__13355 < count__13354)){
var vec__13356 = chunk__13353.cljs$core$IIndexed$_nth$arity$2(null,i__13355);
var k = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__13356,(0),null);
var v = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__13356,(1),null);
(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));
var G__13368 = seq__13352;
var G__13369 = chunk__13353;
var G__13370 = count__13354;
var G__13371 = (i__13355 + (1));
seq__13352 = G__13368;
chunk__13353 = G__13369;
count__13354 = G__13370;
i__13355 = G__13371;
continue;
} else {
var temp__5457__auto__ = cljs.core.seq(seq__13352);
if(temp__5457__auto__){
var seq__13352__$1 = temp__5457__auto__;
if(cljs.core.chunked_seq_QMARK_(seq__13352__$1)){
var c__9713__auto__ = cljs.core.chunk_first(seq__13352__$1);
var G__13372 = cljs.core.chunk_rest(seq__13352__$1);
var G__13373 = c__9713__auto__;
var G__13374 = cljs.core.count(c__9713__auto__);
var G__13375 = (0);
seq__13352 = G__13372;
chunk__13353 = G__13373;
count__13354 = G__13374;
i__13355 = G__13375;
continue;
} else {
var vec__13359 = cljs.core.first(seq__13352__$1);
var k = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__13359,(0),null);
var v = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__13359,(1),null);
(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));
var G__13376 = cljs.core.next(seq__13352__$1);
var G__13377 = null;
var G__13378 = (0);
var G__13379 = (0);
seq__13352 = G__13376;
chunk__13353 = G__13377;
count__13354 = G__13378;
i__13355 = G__13379;
continue;
}
} else {
return null;
}
}
break;
}
});
cljs.core.PersistentArrayMap.prototype.cljs$core$ILookup$_lookup$arity$2 = (function (coll,k){
var self__ = this;
var coll__$1 = this;
return coll__$1.cljs$core$ILookup$_lookup$arity$3(null,k,null);
});
cljs.core.PersistentArrayMap.prototype.cljs$core$ILookup$_lookup$arity$3 = (function (coll,k,not_found){
var self__ = this;
var coll__$1 = this;
var idx = cljs.core.array_map_index_of(coll__$1,k);
if((idx === (-1))){
return not_found;
} else {
return (self__.arr[(idx + (1))]);
}
});
cljs.core.PersistentArrayMap.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 = (function (coll,f,init){
var self__ = this;
var coll__$1 = this;
var len = self__.arr.length;
var i = (0);
var init__$1 = init;
while(true){
if((i < len)){
var init__$2 = (function (){var G__13362 = init__$1;
var G__13363 = (self__.arr[i]);
var G__13364 = (self__.arr[(i + (1))]);
return (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__13362,G__13363,G__13364) : f.call(null,G__13362,G__13363,G__13364));
})();
if(cljs.core.reduced_QMARK_(init__$2)){
return cljs.core.deref(init__$2);
} else {
var G__13380 = (i + (2));
var G__13381 = init__$2;
i = G__13380;
init__$1 = G__13381;
continue;
}
} else {
return init__$1;
}
break;
}
});
cljs.core.PersistentArrayMap.prototype.cljs$core$IIterable$_iterator$arity$1 = (function (this$){
var self__ = this;
var this$__$1 = this;
return (new cljs.core.PersistentArrayMapIterator(self__.arr,(0),(self__.cnt * (2))));
});
cljs.core.PersistentArrayMap.prototype.cljs$core$IMeta$_meta$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return self__.meta;
});
cljs.core.PersistentArrayMap.prototype.cljs$core$ICloneable$_clone$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return (new cljs.core.PersistentArrayMap(self__.meta,self__.cnt,self__.arr,self__.__hash));
});
cljs.core.PersistentArrayMap.prototype.cljs$core$ICounted$_count$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return self__.cnt;
});
cljs.core.PersistentArrayMap.prototype.cljs$core$IHash$_hash$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
var h__9238__auto__ = self__.__hash;
if(!((h__9238__auto__ == null))){
return h__9238__auto__;
} else {
var h__9238__auto____$1 = cljs.core.hash_unordered_coll(coll__$1);
self__.__hash = h__9238__auto____$1;
return h__9238__auto____$1;
}
});
cljs.core.PersistentArrayMap.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (coll,other){
var self__ = this;
var coll__$1 = this;
if((cljs.core.map_QMARK_(other)) && (!(cljs.core.record_QMARK_(other)))){
var alen = self__.arr.length;
var other__$1 = other;
if((self__.cnt === other__$1.cljs$core$ICounted$_count$arity$1(null))){
var i = (0);
while(true){
if((i < alen)){
var v = other__$1.cljs$core$ILookup$_lookup$arity$3(null,(self__.arr[i]),cljs.core.lookup_sentinel);
if(!((v === cljs.core.lookup_sentinel))){
if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((self__.arr[(i + (1))]),v)){
var G__13382 = (i + (2));
i = G__13382;
continue;
} else {
return false;
}
} else {
return false;
}
} else {
return true;
}
break;
}
} else {
return false;
}
} else {
return false;
}
});
cljs.core.PersistentArrayMap.prototype.cljs$core$IEditableCollection$_as_transient$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return (new cljs.core.TransientArrayMap({},self__.arr.length,cljs.core.aclone(self__.arr)));
});
cljs.core.PersistentArrayMap.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return cljs.core._with_meta(cljs.core.PersistentArrayMap.EMPTY,self__.meta);
});
cljs.core.PersistentArrayMap.prototype.cljs$core$IReduce$_reduce$arity$2 = (function (coll,f){
var self__ = this;
var coll__$1 = this;
return cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$2(coll__$1,f);
});
cljs.core.PersistentArrayMap.prototype.cljs$core$IReduce$_reduce$arity$3 = (function (coll,f,start){
var self__ = this;
var coll__$1 = this;
return cljs.core.iter_reduce.cljs$core$IFn$_invoke$arity$3(coll__$1,f,start);
});
cljs.core.PersistentArrayMap.prototype.cljs$core$IMap$_dissoc$arity$2 = (function (coll,k){
var self__ = this;
var coll__$1 = this;
var idx = cljs.core.array_map_index_of(coll__$1,k);
if((idx >= (0))){
var len = self__.arr.length;
var new_len = (len - (2));
if((new_len === (0))){
return coll__$1.cljs$core$IEmptyableCollection$_empty$arity$1(null);
} else {
var new_arr = (new Array(new_len));
var s = (0);
var d = (0);
while(true){
if((s >= len)){
return (new cljs.core.PersistentArrayMap(self__.meta,(self__.cnt - (1)),new_arr,null));
} else {
if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(k,(self__.arr[s]))){
var G__13383 = (s + (2));
var G__13384 = d;
s = G__13383;
d = G__13384;
continue;
} else {
(new_arr[d] = (self__.arr[s]));
(new_arr[(d + (1))] = (self__.arr[(s + (1))]));
var G__13385 = (s + (2));
var G__13386 = (d + (2));
s = G__13385;
d = G__13386;
continue;
}
}
break;
}
}
} else {
return coll__$1;
}
});
cljs.core.PersistentArrayMap.prototype.cljs$core$IAssociative$_assoc$arity$3 = (function (coll,k,v){
var self__ = this;
var coll__$1 = this;
var idx = cljs.core.array_map_index_of(coll__$1,k);
if((idx === (-1))){
if((self__.cnt < cljs.core.PersistentArrayMap.HASHMAP_THRESHOLD)){
var arr__$1 = cljs.core.array_map_extend_kv(coll__$1,k,v);
return (new cljs.core.PersistentArrayMap(self__.meta,(self__.cnt + (1)),arr__$1,null));
} else {
return cljs.core._with_meta(cljs.core._assoc(cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentHashMap.EMPTY,coll__$1),k,v),self__.meta);
}
} else {
if((v === (self__.arr[(idx + (1))]))){
return coll__$1;
} else {
var arr__$1 = (function (){var G__13367 = cljs.core.aclone(self__.arr);
(G__13367[(idx + (1))] = v);
return G__13367;
})();
return (new cljs.core.PersistentArrayMap(self__.meta,self__.cnt,arr__$1,null));
}
}
});
cljs.core.PersistentArrayMap.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 = (function (coll,k){
var self__ = this;
var coll__$1 = this;
return !((cljs.core.array_map_index_of(coll__$1,k) === (-1)));
});
cljs.core.PersistentArrayMap.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return cljs.core.persistent_array_map_seq(self__.arr,(0),null);
});
cljs.core.PersistentArrayMap.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (coll,meta__$1){
var self__ = this;
var coll__$1 = this;
return (new cljs.core.PersistentArrayMap(meta__$1,self__.cnt,self__.arr,self__.__hash));
});
cljs.core.PersistentArrayMap.prototype.cljs$core$ICollection$_conj$arity$2 = (function (coll,entry){
var self__ = this;
var coll__$1 = this;
if(cljs.core.vector_QMARK_(entry)){
return coll__$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.cljs$core$IFn$_invoke$arity$2(entry,(0)),cljs.core._nth.cljs$core$IFn$_invoke$arity$2(entry,(1)));
} else {
var ret = coll__$1;
var es = cljs.core.seq(entry);
while(true){
if((es == null)){
return ret;
} else {
var e = cljs.core.first(es);
if(cljs.core.vector_QMARK_(e)){
var G__13387 = ret.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.cljs$core$IFn$_invoke$arity$2(e,(0)),cljs.core._nth.cljs$core$IFn$_invoke$arity$2(e,(1)));
var G__13388 = cljs.core.next(es);
ret = G__13387;
es = G__13388;
continue;
} else {
throw (new Error("conj on a map takes map entries or seqables of map entries"));
}
}
break;
}
}
});
cljs.core.PersistentArrayMap.prototype.call = (function() {
var G__13389 = null;
var G__13389__2 = (function (self__,k){
var self__ = this;
var self____$1 = this;
var coll = self____$1;
return coll.cljs$core$ILookup$_lookup$arity$2(null,k);
});
var G__13389__3 = (function (self__,k,not_found){
var self__ = this;
var self____$1 = this;
var coll = self____$1;
return coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);
});
G__13389 = function(self__,k,not_found){
switch(arguments.length){
case 2:
return G__13389__2.call(this,self__,k);
case 3:
return G__13389__3.call(this,self__,k,not_found);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13389.cljs$core$IFn$_invoke$arity$2 = G__13389__2;
G__13389.cljs$core$IFn$_invoke$arity$3 = G__13389__3;
return G__13389;
})()
;
cljs.core.PersistentArrayMap.prototype.apply = (function (self__,args13351){
var self__ = this;
var self____$1 = this;
return self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args13351)));
});
cljs.core.PersistentArrayMap.prototype.cljs$core$IFn$_invoke$arity$1 = (function (k){
var self__ = this;
var coll = this;
return coll.cljs$core$ILookup$_lookup$arity$2(null,k);
});
cljs.core.PersistentArrayMap.prototype.cljs$core$IFn$_invoke$arity$2 = (function (k,not_found){
var self__ = this;
var coll = this;
return coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);
});
cljs.core.PersistentArrayMap.getBasis = (function (){
return new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$meta,cljs.core.cst$sym$cnt,cljs.core.cst$sym$arr,cljs.core.with_meta(cljs.core.cst$sym$__hash,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null))], null);
});
cljs.core.PersistentArrayMap.cljs$lang$type = true;
cljs.core.PersistentArrayMap.cljs$lang$ctorStr = "cljs.core/PersistentArrayMap";
cljs.core.PersistentArrayMap.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/PersistentArrayMap");
});
cljs.core.__GT_PersistentArrayMap = (function cljs$core$__GT_PersistentArrayMap(meta,cnt,arr,__hash){
return (new cljs.core.PersistentArrayMap(meta,cnt,arr,__hash));
});
cljs.core.PersistentArrayMap.EMPTY = (new cljs.core.PersistentArrayMap(null,(0),[],cljs.core.empty_unordered_hash));
cljs.core.PersistentArrayMap.HASHMAP_THRESHOLD = (8);
cljs.core.PersistentArrayMap.fromArray = (function (arr,no_clone,no_check){
var arr__$1 = ((no_clone)?arr:cljs.core.aclone(arr));
var arr__$2 = ((no_check)?arr__$1:(function (){var ret = [];
var i_13390 = (0);
while(true){
if((i_13390 < arr__$1.length)){
var k_13391 = (arr__$1[i_13390]);
var v_13392 = (arr__$1[(i_13390 + (1))]);
var idx_13393 = cljs.core.array_index_of(ret,k_13391);
if((idx_13393 === (-1))){
ret.push(k_13391);
ret.push(v_13392);
} else {
}
var G__13394 = (i_13390 + (2));
i_13390 = G__13394;
continue;
} else {
}
break;
}
return ret;
})());
var cnt = (arr__$2.length / (2));
return (new cljs.core.PersistentArrayMap(null,cnt,arr__$2,null));
});
cljs.core.PersistentArrayMap.createWithCheck = (function (arr){
var ret = [];
var i_13396 = (0);
while(true){
if((i_13396 < arr.length)){
var k_13397 = (arr[i_13396]);
var v_13398 = (arr[(i_13396 + (1))]);
var idx_13399 = cljs.core.array_index_of(ret,k_13397);
if((idx_13399 === (-1))){
var G__13395_13400 = ret;
G__13395_13400.push(k_13397);
G__13395_13400.push(v_13398);
} else {
throw (new Error(["Duplicate key: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(k_13397)].join('')));
}
var G__13401 = (i_13396 + (2));
i_13396 = G__13401;
continue;
} else {
}
break;
}
var cnt = (arr.length / (2));
return (new cljs.core.PersistentArrayMap(null,cnt,arr,null));
});
cljs.core.PersistentArrayMap.createAsIfByAssoc = (function (arr){
var ret = [];
var i_13403 = (0);
while(true){
if((i_13403 < arr.length)){
var k_13404 = (arr[i_13403]);
var v_13405 = (arr[(i_13403 + (1))]);
var idx_13406 = cljs.core.array_index_of(ret,k_13404);
if((idx_13406 === (-1))){
var G__13402_13407 = ret;
G__13402_13407.push(k_13404);
G__13402_13407.push(v_13405);
} else {
(ret[(idx_13406 + (1))] = v_13405);
}
var G__13408 = (i_13403 + (2));
i_13403 = G__13408;
continue;
} else {
}
break;
}
return (new cljs.core.PersistentArrayMap(null,(ret.length / (2)),ret,null));
});
var G__13409_13412 = cljs.core.PersistentArrayMap.prototype;
var G__13410_13413 = cljs.core.ITER_SYMBOL;
var G__13411_13414 = ((function (G__13409_13412,G__13410_13413){
return (function (){
var this__9929__auto__ = this;
return cljs.core.es6_iterator(this__9929__auto__);
});})(G__13409_13412,G__13410_13413))
;
goog.object.set(G__13409_13412,G__13410_13413,G__13411_13414);
/**
* @constructor
* @implements {cljs.core.ITransientMap}
* @implements {cljs.core.ICounted}
* @implements {cljs.core.ITransientCollection}
* @implements {cljs.core.ITransientAssociative}
* @implements {cljs.core.ILookup}
*/
cljs.core.TransientArrayMap = (function (editable_QMARK_,len,arr){
this.editable_QMARK_ = editable_QMARK_;
this.len = len;
this.arr = arr;
this.cljs$lang$protocol_mask$partition0$ = 258;
this.cljs$lang$protocol_mask$partition1$ = 56;
});
cljs.core.TransientArrayMap.prototype.cljs$core$ICounted$_count$arity$1 = (function (tcoll){
var self__ = this;
var tcoll__$1 = this;
if(cljs.core.truth_(self__.editable_QMARK_)){
return cljs.core.quot(self__.len,(2));
} else {
throw (new Error("count after persistent!"));
}
});
cljs.core.TransientArrayMap.prototype.cljs$core$ILookup$_lookup$arity$2 = (function (tcoll,k){
var self__ = this;
var tcoll__$1 = this;
return tcoll__$1.cljs$core$ILookup$_lookup$arity$3(null,k,null);
});
cljs.core.TransientArrayMap.prototype.cljs$core$ILookup$_lookup$arity$3 = (function (tcoll,k,not_found){
var self__ = this;
var tcoll__$1 = this;
if(cljs.core.truth_(self__.editable_QMARK_)){
var idx = cljs.core.array_map_index_of(tcoll__$1,k);
if((idx === (-1))){
return not_found;
} else {
return (self__.arr[(idx + (1))]);
}
} else {
throw (new Error("lookup after persistent!"));
}
});
cljs.core.TransientArrayMap.prototype.cljs$core$ITransientCollection$_conj_BANG_$arity$2 = (function (tcoll,o){
var self__ = this;
var tcoll__$1 = this;
if(cljs.core.truth_(self__.editable_QMARK_)){
if(((!((o == null)))?((((o.cljs$lang$protocol_mask$partition0$ & (2048))) || ((cljs.core.PROTOCOL_SENTINEL === o.cljs$core$IMapEntry$)))?true:(((!o.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IMapEntry,o):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IMapEntry,o))){
return tcoll__$1.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3(null,cljs.core.key(o),cljs.core.val(o));
} else {
var es = cljs.core.seq(o);
var tcoll__$2 = tcoll__$1;
while(true){
var temp__5455__auto__ = cljs.core.first(es);
if(cljs.core.truth_(temp__5455__auto__)){
var e = temp__5455__auto__;
var G__13417 = cljs.core.next(es);
var G__13418 = tcoll__$2.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3(null,cljs.core.key(e),cljs.core.val(e));
es = G__13417;
tcoll__$2 = G__13418;
continue;
} else {
return tcoll__$2;
}
break;
}
}
} else {
throw (new Error("conj! after persistent!"));
}
});
cljs.core.TransientArrayMap.prototype.cljs$core$ITransientCollection$_persistent_BANG_$arity$1 = (function (tcoll){
var self__ = this;
var tcoll__$1 = this;
if(cljs.core.truth_(self__.editable_QMARK_)){
self__.editable_QMARK_ = false;
return (new cljs.core.PersistentArrayMap(null,cljs.core.quot(self__.len,(2)),self__.arr,null));
} else {
throw (new Error("persistent! called twice"));
}
});
cljs.core.TransientArrayMap.prototype.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3 = (function (tcoll,key,val){
var self__ = this;
var tcoll__$1 = this;
if(cljs.core.truth_(self__.editable_QMARK_)){
var idx = cljs.core.array_map_index_of(tcoll__$1,key);
if((idx === (-1))){
if(((self__.len + (2)) <= ((2) * cljs.core.PersistentArrayMap.HASHMAP_THRESHOLD))){
self__.len = (self__.len + (2));
self__.arr.push(key);
self__.arr.push(val);
return tcoll__$1;
} else {
return cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(cljs.core.array__GT_transient_hash_map(self__.len,self__.arr),key,val);
}
} else {
if((val === (self__.arr[(idx + (1))]))){
return tcoll__$1;
} else {
(self__.arr[(idx + (1))] = val);
return tcoll__$1;
}
}
} else {
throw (new Error("assoc! after persistent!"));
}
});
cljs.core.TransientArrayMap.prototype.cljs$core$ITransientMap$_dissoc_BANG_$arity$2 = (function (tcoll,key){
var self__ = this;
var tcoll__$1 = this;
if(cljs.core.truth_(self__.editable_QMARK_)){
var idx = cljs.core.array_map_index_of(tcoll__$1,key);
if((idx >= (0))){
(self__.arr[idx] = (self__.arr[(self__.len - (2))]));
(self__.arr[(idx + (1))] = (self__.arr[(self__.len - (1))]));
var G__13416_13419 = self__.arr;
G__13416_13419.pop();
G__13416_13419.pop();
self__.len = (self__.len - (2));
} else {
}
return tcoll__$1;
} else {
throw (new Error("dissoc! after persistent!"));
}
});
cljs.core.TransientArrayMap.getBasis = (function (){
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(cljs.core.cst$sym$editable_QMARK_,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null)),cljs.core.with_meta(cljs.core.cst$sym$len,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null)),cljs.core.cst$sym$arr], null);
});
cljs.core.TransientArrayMap.cljs$lang$type = true;
cljs.core.TransientArrayMap.cljs$lang$ctorStr = "cljs.core/TransientArrayMap";
cljs.core.TransientArrayMap.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/TransientArrayMap");
});
cljs.core.__GT_TransientArrayMap = (function cljs$core$__GT_TransientArrayMap(editable_QMARK_,len,arr){
return (new cljs.core.TransientArrayMap(editable_QMARK_,len,arr));
});
cljs.core.array__GT_transient_hash_map = (function cljs$core$array__GT_transient_hash_map(len,arr){
var out = cljs.core.transient$(cljs.core.PersistentHashMap.EMPTY);
var i = (0);
while(true){
if((i < len)){
var G__13420 = cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(out,(arr[i]),(arr[(i + (1))]));
var G__13421 = (i + (2));
out = G__13420;
i = G__13421;
continue;
} else {
return out;
}
break;
}
});
/**
* @constructor
*/
cljs.core.Box = (function (val){
this.val = val;
});
cljs.core.Box.getBasis = (function (){
return new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(cljs.core.cst$sym$val,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null))], null);
});
cljs.core.Box.cljs$lang$type = true;
cljs.core.Box.cljs$lang$ctorStr = "cljs.core/Box";
cljs.core.Box.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/Box");
});
cljs.core.__GT_Box = (function cljs$core$__GT_Box(val){
return (new cljs.core.Box(val));
});
cljs.core.key_test = (function cljs$core$key_test(key,other){
if((key === other)){
return true;
} else {
if(cljs.core.keyword_identical_QMARK_(key,other)){
return true;
} else {
return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(key,other);
}
}
});
cljs.core.mask = (function cljs$core$mask(hash,shift){
return ((hash >>> shift) & (31));
});
cljs.core.clone_and_set = (function cljs$core$clone_and_set(var_args){
var G__13423 = arguments.length;
switch (G__13423) {
case 3:
return cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
case 5:
return cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3 = (function (arr,i,a){
var G__13424 = cljs.core.aclone(arr);
(G__13424[i] = a);
return G__13424;
});
cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$5 = (function (arr,i,a,j,b){
var G__13425 = cljs.core.aclone(arr);
(G__13425[i] = a);
(G__13425[j] = b);
return G__13425;
});
cljs.core.clone_and_set.cljs$lang$maxFixedArity = 5;
cljs.core.remove_pair = (function cljs$core$remove_pair(arr,i){
var new_arr = (new Array((arr.length - (2))));
cljs.core.array_copy(arr,(0),new_arr,(0),((2) * i));
cljs.core.array_copy(arr,((2) * (i + (1))),new_arr,((2) * i),(new_arr.length - ((2) * i)));
return new_arr;
});
cljs.core.bitmap_indexed_node_index = (function cljs$core$bitmap_indexed_node_index(bitmap,bit){
return cljs.core.bit_count((bitmap & (bit - (1))));
});
cljs.core.bitpos = (function cljs$core$bitpos(hash,shift){
return ((1) << ((hash >>> shift) & 0x01f));
});
cljs.core.edit_and_set = (function cljs$core$edit_and_set(var_args){
var G__13428 = arguments.length;
switch (G__13428) {
case 4:
return cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));
break;
case 6:
return cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4 = (function (inode,edit,i,a){
var editable = inode.ensure_editable(edit);
(editable.arr[i] = a);
return editable;
});
cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$6 = (function (inode,edit,i,a,j,b){
var editable = inode.ensure_editable(edit);
(editable.arr[i] = a);
(editable.arr[j] = b);
return editable;
});
cljs.core.edit_and_set.cljs$lang$maxFixedArity = 6;
cljs.core.inode_kv_reduce = (function cljs$core$inode_kv_reduce(arr,f,init){
var len = arr.length;
var i = (0);
var init__$1 = init;
while(true){
if((i < len)){
var init__$2 = (function (){var k = (arr[i]);
if(!((k == null))){
var G__13430 = init__$1;
var G__13431 = k;
var G__13432 = (arr[(i + (1))]);
return (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__13430,G__13431,G__13432) : f.call(null,G__13430,G__13431,G__13432));
} else {
var node = (arr[(i + (1))]);
if(!((node == null))){
return node.kv_reduce(f,init__$1);
} else {
return init__$1;
}
}
})();
if(cljs.core.reduced_QMARK_(init__$2)){
return init__$2;
} else {
var G__13433 = (i + (2));
var G__13434 = init__$2;
i = G__13433;
init__$1 = G__13434;
continue;
}
} else {
return init__$1;
}
break;
}
});
/**
* @constructor
*/
cljs.core.NodeIterator = (function (arr,i,next_entry,next_iter){
this.arr = arr;
this.i = i;
this.next_entry = next_entry;
this.next_iter = next_iter;
});
cljs.core.NodeIterator.prototype.advance = (function (){
var self__ = this;
var this$ = this;
var len = self__.arr.length;
while(true){
if((self__.i < len)){
var key = (self__.arr[self__.i]);
var node_or_val = (self__.arr[(self__.i + (1))]);
var found = ((!((key == null)))?self__.next_entry = new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [key,node_or_val], null):((!((node_or_val == null)))?(function (){var new_iter = cljs.core._iterator(node_or_val);
if(new_iter.hasNext()){
return self__.next_iter = new_iter;
} else {
return false;
}
})():false
));
self__.i = (self__.i + (2));
if(found){
return true;
} else {
continue;
}
} else {
return false;
}
break;
}
});
cljs.core.NodeIterator.prototype.hasNext = (function (){
var self__ = this;
var this$ = this;
var or__8782__auto__ = !((self__.next_entry == null));
if(or__8782__auto__){
return or__8782__auto__;
} else {
var or__8782__auto____$1 = !((self__.next_iter == null));
if(or__8782__auto____$1){
return or__8782__auto____$1;
} else {
return this$.advance();
}
}
});
cljs.core.NodeIterator.prototype.next = (function (){
var self__ = this;
var this$ = this;
if(!((self__.next_entry == null))){
var ret = self__.next_entry;
self__.next_entry = null;
return ret;
} else {
if(!((self__.next_iter == null))){
var ret = self__.next_iter.next();
if(self__.next_iter.hasNext()){
} else {
self__.next_iter = null;
}
return ret;
} else {
if(this$.advance()){
return this$.next();
} else {
throw (new Error("No such element"));
}
}
}
});
cljs.core.NodeIterator.prototype.remove = (function (){
var self__ = this;
var _ = this;
return (new Error("Unsupported operation"));
});
cljs.core.NodeIterator.getBasis = (function (){
return new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$arr,cljs.core.with_meta(cljs.core.cst$sym$i,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null)),cljs.core.with_meta(cljs.core.cst$sym$next_DASH_entry,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null)),cljs.core.with_meta(cljs.core.cst$sym$next_DASH_iter,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null))], null);
});
cljs.core.NodeIterator.cljs$lang$type = true;
cljs.core.NodeIterator.cljs$lang$ctorStr = "cljs.core/NodeIterator";
cljs.core.NodeIterator.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/NodeIterator");
});
cljs.core.__GT_NodeIterator = (function cljs$core$__GT_NodeIterator(arr,i,next_entry,next_iter){
return (new cljs.core.NodeIterator(arr,i,next_entry,next_iter));
});
/**
* @constructor
* @implements {cljs.core.IIterable}
*/
cljs.core.BitmapIndexedNode = (function (edit,bitmap,arr){
this.edit = edit;
this.bitmap = bitmap;
this.arr = arr;
this.cljs$lang$protocol_mask$partition1$ = 131072;
this.cljs$lang$protocol_mask$partition0$ = 0;
});
cljs.core.BitmapIndexedNode.prototype.ensure_editable = (function (e){
var self__ = this;
var inode = this;
if((e === self__.edit)){
return inode;
} else {
var n = cljs.core.bit_count(self__.bitmap);
var new_arr = (new Array((((n < (0)))?(4):((2) * (n + (1))))));
cljs.core.array_copy(self__.arr,(0),new_arr,(0),((2) * n));
return (new cljs.core.BitmapIndexedNode(e,self__.bitmap,new_arr));
}
});
cljs.core.BitmapIndexedNode.prototype.inode_without_BANG_ = (function (edit__$1,shift,hash,key,removed_leaf_QMARK_){
var self__ = this;
var inode = this;
var bit = (1 << ((hash >>> shift) & 0x01f));
if(((self__.bitmap & bit) === (0))){
return inode;
} else {
var idx = cljs.core.bitmap_indexed_node_index(self__.bitmap,bit);
var key_or_nil = (self__.arr[((2) * idx)]);
var val_or_node = (self__.arr[(((2) * idx) + (1))]);
if((key_or_nil == null)){
var n = val_or_node.inode_without_BANG_(edit__$1,(shift + (5)),hash,key,removed_leaf_QMARK_);
if((n === val_or_node)){
return inode;
} else {
if(!((n == null))){
return cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(inode,edit__$1,(((2) * idx) + (1)),n);
} else {
if((self__.bitmap === bit)){
return null;
} else {
return inode.edit_and_remove_pair(edit__$1,bit,idx);
}
}
}
} else {
if(cljs.core.key_test(key,key_or_nil)){
removed_leaf_QMARK_.val = true;
return inode.edit_and_remove_pair(edit__$1,bit,idx);
} else {
return inode;
}
}
}
});
cljs.core.BitmapIndexedNode.prototype.edit_and_remove_pair = (function (e,bit,i){
var self__ = this;
var inode = this;
if((self__.bitmap === bit)){
return null;
} else {
var editable = inode.ensure_editable(e);
var earr = editable.arr;
var len = earr.length;
editable.bitmap = (bit ^ editable.bitmap);
cljs.core.array_copy(earr,((2) * (i + (1))),earr,((2) * i),(len - ((2) * (i + (1)))));
(earr[(len - (2))] = null);
(earr[(len - (1))] = null);
return editable;
}
});
cljs.core.BitmapIndexedNode.prototype.inode_seq = (function (){
var self__ = this;
var inode = this;
return cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$1(self__.arr);
});
cljs.core.BitmapIndexedNode.prototype.kv_reduce = (function (f,init){
var self__ = this;
var inode = this;
return cljs.core.inode_kv_reduce(self__.arr,f,init);
});
cljs.core.BitmapIndexedNode.prototype.inode_lookup = (function (shift,hash,key,not_found){
var self__ = this;
var inode = this;
var bit = (1 << ((hash >>> shift) & 0x01f));
if(((self__.bitmap & bit) === (0))){
return not_found;
} else {
var idx = cljs.core.bitmap_indexed_node_index(self__.bitmap,bit);
var key_or_nil = (self__.arr[((2) * idx)]);
var val_or_node = (self__.arr[(((2) * idx) + (1))]);
if((key_or_nil == null)){
return val_or_node.inode_lookup((shift + (5)),hash,key,not_found);
} else {
if(cljs.core.key_test(key,key_or_nil)){
return val_or_node;
} else {
return not_found;
}
}
}
});
cljs.core.BitmapIndexedNode.prototype.inode_assoc_BANG_ = (function (edit__$1,shift,hash,key,val,added_leaf_QMARK_){
var self__ = this;
var inode = this;
var bit = (1 << ((hash >>> shift) & 0x01f));
var idx = cljs.core.bitmap_indexed_node_index(self__.bitmap,bit);
if(((self__.bitmap & bit) === (0))){
var n = cljs.core.bit_count(self__.bitmap);
if((((2) * n) < self__.arr.length)){
var editable = inode.ensure_editable(edit__$1);
var earr = editable.arr;
added_leaf_QMARK_.val = true;
cljs.core.array_copy_downward(earr,((2) * idx),earr,((2) * (idx + (1))),((2) * (n - idx)));
(earr[((2) * idx)] = key);
(earr[(((2) * idx) + (1))] = val);
editable.bitmap = (editable.bitmap | bit);
return editable;
} else {
if((n >= (16))){
var nodes = [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];
var jdx = ((hash >>> shift) & 0x01f);
(nodes[jdx] = cljs.core.BitmapIndexedNode.EMPTY.inode_assoc_BANG_(edit__$1,(shift + (5)),hash,key,val,added_leaf_QMARK_));
var i_13435 = (0);
var j_13436 = (0);
while(true){
if((i_13435 < (32))){
if((((self__.bitmap >>> i_13435) & (1)) === (0))){
var G__13437 = (i_13435 + (1));
var G__13438 = j_13436;
i_13435 = G__13437;
j_13436 = G__13438;
continue;
} else {
(nodes[i_13435] = ((!(((self__.arr[j_13436]) == null)))?cljs.core.BitmapIndexedNode.EMPTY.inode_assoc_BANG_(edit__$1,(shift + (5)),cljs.core.hash((self__.arr[j_13436])),(self__.arr[j_13436]),(self__.arr[(j_13436 + (1))]),added_leaf_QMARK_):(self__.arr[(j_13436 + (1))])));
var G__13439 = (i_13435 + (1));
var G__13440 = (j_13436 + (2));
i_13435 = G__13439;
j_13436 = G__13440;
continue;
}
} else {
}
break;
}
return (new cljs.core.ArrayNode(edit__$1,(n + (1)),nodes));
} else {
var new_arr = (new Array(((2) * (n + (4)))));
cljs.core.array_copy(self__.arr,(0),new_arr,(0),((2) * idx));
(new_arr[((2) * idx)] = key);
(new_arr[(((2) * idx) + (1))] = val);
cljs.core.array_copy(self__.arr,((2) * idx),new_arr,((2) * (idx + (1))),((2) * (n - idx)));
added_leaf_QMARK_.val = true;
var editable = inode.ensure_editable(edit__$1);
editable.arr = new_arr;
editable.bitmap = (editable.bitmap | bit);
return editable;
}
}
} else {
var key_or_nil = (self__.arr[((2) * idx)]);
var val_or_node = (self__.arr[(((2) * idx) + (1))]);
if((key_or_nil == null)){
var n = val_or_node.inode_assoc_BANG_(edit__$1,(shift + (5)),hash,key,val,added_leaf_QMARK_);
if((n === val_or_node)){
return inode;
} else {
return cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(inode,edit__$1,(((2) * idx) + (1)),n);
}
} else {
if(cljs.core.key_test(key,key_or_nil)){
if((val === val_or_node)){
return inode;
} else {
return cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(inode,edit__$1,(((2) * idx) + (1)),val);
}
} else {
added_leaf_QMARK_.val = true;
return cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$6(inode,edit__$1,((2) * idx),null,(((2) * idx) + (1)),cljs.core.create_node.cljs$core$IFn$_invoke$arity$7(edit__$1,(shift + (5)),key_or_nil,val_or_node,hash,key,val));
}
}
}
});
cljs.core.BitmapIndexedNode.prototype.inode_assoc = (function (shift,hash,key,val,added_leaf_QMARK_){
var self__ = this;
var inode = this;
var bit = (1 << ((hash >>> shift) & 0x01f));
var idx = cljs.core.bitmap_indexed_node_index(self__.bitmap,bit);
if(((self__.bitmap & bit) === (0))){
var n = cljs.core.bit_count(self__.bitmap);
if((n >= (16))){
var nodes = [null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null];
var jdx = ((hash >>> shift) & 0x01f);
(nodes[jdx] = cljs.core.BitmapIndexedNode.EMPTY.inode_assoc((shift + (5)),hash,key,val,added_leaf_QMARK_));
var i_13441 = (0);
var j_13442 = (0);
while(true){
if((i_13441 < (32))){
if((((self__.bitmap >>> i_13441) & (1)) === (0))){
var G__13443 = (i_13441 + (1));
var G__13444 = j_13442;
i_13441 = G__13443;
j_13442 = G__13444;
continue;
} else {
(nodes[i_13441] = ((!(((self__.arr[j_13442]) == null)))?cljs.core.BitmapIndexedNode.EMPTY.inode_assoc((shift + (5)),cljs.core.hash((self__.arr[j_13442])),(self__.arr[j_13442]),(self__.arr[(j_13442 + (1))]),added_leaf_QMARK_):(self__.arr[(j_13442 + (1))])));
var G__13445 = (i_13441 + (1));
var G__13446 = (j_13442 + (2));
i_13441 = G__13445;
j_13442 = G__13446;
continue;
}
} else {
}
break;
}
return (new cljs.core.ArrayNode(null,(n + (1)),nodes));
} else {
var new_arr = (new Array(((2) * (n + (1)))));
cljs.core.array_copy(self__.arr,(0),new_arr,(0),((2) * idx));
(new_arr[((2) * idx)] = key);
(new_arr[(((2) * idx) + (1))] = val);
cljs.core.array_copy(self__.arr,((2) * idx),new_arr,((2) * (idx + (1))),((2) * (n - idx)));
added_leaf_QMARK_.val = true;
return (new cljs.core.BitmapIndexedNode(null,(self__.bitmap | bit),new_arr));
}
} else {
var key_or_nil = (self__.arr[((2) * idx)]);
var val_or_node = (self__.arr[(((2) * idx) + (1))]);
if((key_or_nil == null)){
var n = val_or_node.inode_assoc((shift + (5)),hash,key,val,added_leaf_QMARK_);
if((n === val_or_node)){
return inode;
} else {
return (new cljs.core.BitmapIndexedNode(null,self__.bitmap,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(self__.arr,(((2) * idx) + (1)),n)));
}
} else {
if(cljs.core.key_test(key,key_or_nil)){
if((val === val_or_node)){
return inode;
} else {
return (new cljs.core.BitmapIndexedNode(null,self__.bitmap,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(self__.arr,(((2) * idx) + (1)),val)));
}
} else {
added_leaf_QMARK_.val = true;
return (new cljs.core.BitmapIndexedNode(null,self__.bitmap,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$5(self__.arr,((2) * idx),null,(((2) * idx) + (1)),cljs.core.create_node.cljs$core$IFn$_invoke$arity$6((shift + (5)),key_or_nil,val_or_node,hash,key,val))));
}
}
}
});
cljs.core.BitmapIndexedNode.prototype.inode_find = (function (shift,hash,key,not_found){
var self__ = this;
var inode = this;
var bit = (1 << ((hash >>> shift) & 0x01f));
if(((self__.bitmap & bit) === (0))){
return not_found;
} else {
var idx = cljs.core.bitmap_indexed_node_index(self__.bitmap,bit);
var key_or_nil = (self__.arr[((2) * idx)]);
var val_or_node = (self__.arr[(((2) * idx) + (1))]);
if((key_or_nil == null)){
return val_or_node.inode_find((shift + (5)),hash,key,not_found);
} else {
if(cljs.core.key_test(key,key_or_nil)){
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [key_or_nil,val_or_node], null);
} else {
return not_found;
}
}
}
});
cljs.core.BitmapIndexedNode.prototype.inode_without = (function (shift,hash,key){
var self__ = this;
var inode = this;
var bit = (1 << ((hash >>> shift) & 0x01f));
if(((self__.bitmap & bit) === (0))){
return inode;
} else {
var idx = cljs.core.bitmap_indexed_node_index(self__.bitmap,bit);
var key_or_nil = (self__.arr[((2) * idx)]);
var val_or_node = (self__.arr[(((2) * idx) + (1))]);
if((key_or_nil == null)){
var n = val_or_node.inode_without((shift + (5)),hash,key);
if((n === val_or_node)){
return inode;
} else {
if(!((n == null))){
return (new cljs.core.BitmapIndexedNode(null,self__.bitmap,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(self__.arr,(((2) * idx) + (1)),n)));
} else {
if((self__.bitmap === bit)){
return null;
} else {
return (new cljs.core.BitmapIndexedNode(null,(self__.bitmap ^ bit),cljs.core.remove_pair(self__.arr,idx)));
}
}
}
} else {
if(cljs.core.key_test(key,key_or_nil)){
return (new cljs.core.BitmapIndexedNode(null,(self__.bitmap ^ bit),cljs.core.remove_pair(self__.arr,idx)));
} else {
return inode;
}
}
}
});
cljs.core.BitmapIndexedNode.prototype.cljs$core$IIterable$_iterator$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return (new cljs.core.NodeIterator(self__.arr,(0),null,null));
});
cljs.core.BitmapIndexedNode.getBasis = (function (){
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$edit,cljs.core.with_meta(cljs.core.cst$sym$bitmap,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null)),cljs.core.with_meta(cljs.core.cst$sym$arr,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null))], null);
});
cljs.core.BitmapIndexedNode.cljs$lang$type = true;
cljs.core.BitmapIndexedNode.cljs$lang$ctorStr = "cljs.core/BitmapIndexedNode";
cljs.core.BitmapIndexedNode.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/BitmapIndexedNode");
});
cljs.core.__GT_BitmapIndexedNode = (function cljs$core$__GT_BitmapIndexedNode(edit,bitmap,arr){
return (new cljs.core.BitmapIndexedNode(edit,bitmap,arr));
});
cljs.core.BitmapIndexedNode.EMPTY = (new cljs.core.BitmapIndexedNode(null,(0),[]));
cljs.core.pack_array_node = (function cljs$core$pack_array_node(array_node,edit,idx){
var arr = array_node.arr;
var len = arr.length;
var new_arr = (new Array(((2) * (array_node.cnt - (1)))));
var i = (0);
var j = (1);
var bitmap = (0);
while(true){
if((i < len)){
if((!((i === idx))) && (!(((arr[i]) == null)))){
(new_arr[j] = (arr[i]));
var G__13447 = (i + (1));
var G__13448 = (j + (2));
var G__13449 = (bitmap | ((1) << i));
i = G__13447;
j = G__13448;
bitmap = G__13449;
continue;
} else {
var G__13450 = (i + (1));
var G__13451 = j;
var G__13452 = bitmap;
i = G__13450;
j = G__13451;
bitmap = G__13452;
continue;
}
} else {
return (new cljs.core.BitmapIndexedNode(edit,bitmap,new_arr));
}
break;
}
});
/**
* @constructor
*/
cljs.core.ArrayNodeIterator = (function (arr,i,next_iter){
this.arr = arr;
this.i = i;
this.next_iter = next_iter;
});
cljs.core.ArrayNodeIterator.prototype.hasNext = (function (){
var self__ = this;
var this$ = this;
var len = self__.arr.length;
while(true){
if(!((!((self__.next_iter == null))) && (self__.next_iter.hasNext()))){
if((self__.i < len)){
var node = (self__.arr[self__.i]);
self__.i = (self__.i + (1));
if(!((node == null))){
self__.next_iter = cljs.core._iterator(node);
} else {
}
continue;
} else {
return false;
}
} else {
return true;
}
break;
}
});
cljs.core.ArrayNodeIterator.prototype.next = (function (){
var self__ = this;
var this$ = this;
if(this$.hasNext()){
return self__.next_iter.next();
} else {
throw (new Error("No such element"));
}
});
cljs.core.ArrayNodeIterator.prototype.remove = (function (){
var self__ = this;
var _ = this;
return (new Error("Unsupported operation"));
});
cljs.core.ArrayNodeIterator.getBasis = (function (){
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$arr,cljs.core.with_meta(cljs.core.cst$sym$i,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null)),cljs.core.with_meta(cljs.core.cst$sym$next_DASH_iter,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null))], null);
});
cljs.core.ArrayNodeIterator.cljs$lang$type = true;
cljs.core.ArrayNodeIterator.cljs$lang$ctorStr = "cljs.core/ArrayNodeIterator";
cljs.core.ArrayNodeIterator.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/ArrayNodeIterator");
});
cljs.core.__GT_ArrayNodeIterator = (function cljs$core$__GT_ArrayNodeIterator(arr,i,next_iter){
return (new cljs.core.ArrayNodeIterator(arr,i,next_iter));
});
/**
* @constructor
* @implements {cljs.core.IIterable}
*/
cljs.core.ArrayNode = (function (edit,cnt,arr){
this.edit = edit;
this.cnt = cnt;
this.arr = arr;
this.cljs$lang$protocol_mask$partition1$ = 131072;
this.cljs$lang$protocol_mask$partition0$ = 0;
});
cljs.core.ArrayNode.prototype.ensure_editable = (function (e){
var self__ = this;
var inode = this;
if((e === self__.edit)){
return inode;
} else {
return (new cljs.core.ArrayNode(e,self__.cnt,cljs.core.aclone(self__.arr)));
}
});
cljs.core.ArrayNode.prototype.inode_without_BANG_ = (function (edit__$1,shift,hash,key,removed_leaf_QMARK_){
var self__ = this;
var inode = this;
var idx = ((hash >>> shift) & 0x01f);
var node = (self__.arr[idx]);
if((node == null)){
return inode;
} else {
var n = node.inode_without_BANG_(edit__$1,(shift + (5)),hash,key,removed_leaf_QMARK_);
if((n === node)){
return inode;
} else {
if((n == null)){
if((self__.cnt <= (8))){
return cljs.core.pack_array_node(inode,edit__$1,idx);
} else {
var editable = cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(inode,edit__$1,idx,n);
editable.cnt = (editable.cnt - (1));
return editable;
}
} else {
return cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(inode,edit__$1,idx,n);
}
}
}
});
cljs.core.ArrayNode.prototype.inode_seq = (function (){
var self__ = this;
var inode = this;
return cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$1(self__.arr);
});
cljs.core.ArrayNode.prototype.kv_reduce = (function (f,init){
var self__ = this;
var inode = this;
var len = self__.arr.length;
var i = (0);
var init__$1 = init;
while(true){
if((i < len)){
var node = (self__.arr[i]);
if(!((node == null))){
var init__$2 = node.kv_reduce(f,init__$1);
if(cljs.core.reduced_QMARK_(init__$2)){
return init__$2;
} else {
var G__13453 = (i + (1));
var G__13454 = init__$2;
i = G__13453;
init__$1 = G__13454;
continue;
}
} else {
var G__13455 = (i + (1));
var G__13456 = init__$1;
i = G__13455;
init__$1 = G__13456;
continue;
}
} else {
return init__$1;
}
break;
}
});
cljs.core.ArrayNode.prototype.inode_lookup = (function (shift,hash,key,not_found){
var self__ = this;
var inode = this;
var idx = ((hash >>> shift) & 0x01f);
var node = (self__.arr[idx]);
if(!((node == null))){
return node.inode_lookup((shift + (5)),hash,key,not_found);
} else {
return not_found;
}
});
cljs.core.ArrayNode.prototype.inode_assoc_BANG_ = (function (edit__$1,shift,hash,key,val,added_leaf_QMARK_){
var self__ = this;
var inode = this;
var idx = ((hash >>> shift) & 0x01f);
var node = (self__.arr[idx]);
if((node == null)){
var editable = cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(inode,edit__$1,idx,cljs.core.BitmapIndexedNode.EMPTY.inode_assoc_BANG_(edit__$1,(shift + (5)),hash,key,val,added_leaf_QMARK_));
editable.cnt = (editable.cnt + (1));
return editable;
} else {
var n = node.inode_assoc_BANG_(edit__$1,(shift + (5)),hash,key,val,added_leaf_QMARK_);
if((n === node)){
return inode;
} else {
return cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(inode,edit__$1,idx,n);
}
}
});
cljs.core.ArrayNode.prototype.inode_assoc = (function (shift,hash,key,val,added_leaf_QMARK_){
var self__ = this;
var inode = this;
var idx = ((hash >>> shift) & 0x01f);
var node = (self__.arr[idx]);
if((node == null)){
return (new cljs.core.ArrayNode(null,(self__.cnt + (1)),cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(self__.arr,idx,cljs.core.BitmapIndexedNode.EMPTY.inode_assoc((shift + (5)),hash,key,val,added_leaf_QMARK_))));
} else {
var n = node.inode_assoc((shift + (5)),hash,key,val,added_leaf_QMARK_);
if((n === node)){
return inode;
} else {
return (new cljs.core.ArrayNode(null,self__.cnt,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(self__.arr,idx,n)));
}
}
});
cljs.core.ArrayNode.prototype.inode_find = (function (shift,hash,key,not_found){
var self__ = this;
var inode = this;
var idx = ((hash >>> shift) & 0x01f);
var node = (self__.arr[idx]);
if(!((node == null))){
return node.inode_find((shift + (5)),hash,key,not_found);
} else {
return not_found;
}
});
cljs.core.ArrayNode.prototype.inode_without = (function (shift,hash,key){
var self__ = this;
var inode = this;
var idx = ((hash >>> shift) & 0x01f);
var node = (self__.arr[idx]);
if(!((node == null))){
var n = node.inode_without((shift + (5)),hash,key);
if((n === node)){
return inode;
} else {
if((n == null)){
if((self__.cnt <= (8))){
return cljs.core.pack_array_node(inode,null,idx);
} else {
return (new cljs.core.ArrayNode(null,(self__.cnt - (1)),cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(self__.arr,idx,n)));
}
} else {
return (new cljs.core.ArrayNode(null,self__.cnt,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(self__.arr,idx,n)));
}
}
} else {
return inode;
}
});
cljs.core.ArrayNode.prototype.cljs$core$IIterable$_iterator$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return (new cljs.core.ArrayNodeIterator(self__.arr,(0),null));
});
cljs.core.ArrayNode.getBasis = (function (){
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$edit,cljs.core.with_meta(cljs.core.cst$sym$cnt,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null)),cljs.core.with_meta(cljs.core.cst$sym$arr,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null))], null);
});
cljs.core.ArrayNode.cljs$lang$type = true;
cljs.core.ArrayNode.cljs$lang$ctorStr = "cljs.core/ArrayNode";
cljs.core.ArrayNode.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/ArrayNode");
});
cljs.core.__GT_ArrayNode = (function cljs$core$__GT_ArrayNode(edit,cnt,arr){
return (new cljs.core.ArrayNode(edit,cnt,arr));
});
cljs.core.hash_collision_node_find_index = (function cljs$core$hash_collision_node_find_index(arr,cnt,key){
var lim = ((2) * cnt);
var i = (0);
while(true){
if((i < lim)){
if(cljs.core.key_test(key,(arr[i]))){
return i;
} else {
var G__13457 = (i + (2));
i = G__13457;
continue;
}
} else {
return (-1);
}
break;
}
});
/**
* @constructor
* @implements {cljs.core.IIterable}
*/
cljs.core.HashCollisionNode = (function (edit,collision_hash,cnt,arr){
this.edit = edit;
this.collision_hash = collision_hash;
this.cnt = cnt;
this.arr = arr;
this.cljs$lang$protocol_mask$partition1$ = 131072;
this.cljs$lang$protocol_mask$partition0$ = 0;
});
cljs.core.HashCollisionNode.prototype.ensure_editable = (function (e){
var self__ = this;
var inode = this;
if((e === self__.edit)){
return inode;
} else {
var new_arr = (new Array(((2) * (self__.cnt + (1)))));
cljs.core.array_copy(self__.arr,(0),new_arr,(0),((2) * self__.cnt));
return (new cljs.core.HashCollisionNode(e,self__.collision_hash,self__.cnt,new_arr));
}
});
cljs.core.HashCollisionNode.prototype.inode_without_BANG_ = (function (edit__$1,shift,hash,key,removed_leaf_QMARK_){
var self__ = this;
var inode = this;
var idx = cljs.core.hash_collision_node_find_index(self__.arr,self__.cnt,key);
if((idx === (-1))){
return inode;
} else {
removed_leaf_QMARK_.val = true;
if((self__.cnt === (1))){
return null;
} else {
var editable = inode.ensure_editable(edit__$1);
var earr = editable.arr;
(earr[idx] = (earr[(((2) * self__.cnt) - (2))]));
(earr[(idx + (1))] = (earr[(((2) * self__.cnt) - (1))]));
(earr[(((2) * self__.cnt) - (1))] = null);
(earr[(((2) * self__.cnt) - (2))] = null);
editable.cnt = (editable.cnt - (1));
return editable;
}
}
});
cljs.core.HashCollisionNode.prototype.inode_seq = (function (){
var self__ = this;
var inode = this;
return cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$1(self__.arr);
});
cljs.core.HashCollisionNode.prototype.kv_reduce = (function (f,init){
var self__ = this;
var inode = this;
return cljs.core.inode_kv_reduce(self__.arr,f,init);
});
cljs.core.HashCollisionNode.prototype.inode_lookup = (function (shift,hash,key,not_found){
var self__ = this;
var inode = this;
var idx = cljs.core.hash_collision_node_find_index(self__.arr,self__.cnt,key);
if((idx < (0))){
return not_found;
} else {
if(cljs.core.key_test(key,(self__.arr[idx]))){
return (self__.arr[(idx + (1))]);
} else {
return not_found;
}
}
});
cljs.core.HashCollisionNode.prototype.inode_assoc_BANG_ = (function (edit__$1,shift,hash,key,val,added_leaf_QMARK_){
var self__ = this;
var inode = this;
if((hash === self__.collision_hash)){
var idx = cljs.core.hash_collision_node_find_index(self__.arr,self__.cnt,key);
if((idx === (-1))){
if((self__.arr.length > ((2) * self__.cnt))){
var editable = cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$6(inode,edit__$1,((2) * self__.cnt),key,(((2) * self__.cnt) + (1)),val);
added_leaf_QMARK_.val = true;
editable.cnt = (editable.cnt + (1));
return editable;
} else {
var len = self__.arr.length;
var new_arr = (new Array((len + (2))));
cljs.core.array_copy(self__.arr,(0),new_arr,(0),len);
(new_arr[len] = key);
(new_arr[(len + (1))] = val);
added_leaf_QMARK_.val = true;
return inode.ensure_editable_array(edit__$1,(self__.cnt + (1)),new_arr);
}
} else {
if(((self__.arr[(idx + (1))]) === val)){
return inode;
} else {
return cljs.core.edit_and_set.cljs$core$IFn$_invoke$arity$4(inode,edit__$1,(idx + (1)),val);
}
}
} else {
return (new cljs.core.BitmapIndexedNode(edit__$1,(1 << ((self__.collision_hash >>> shift) & 0x01f)),[null,inode,null,null])).inode_assoc_BANG_(edit__$1,shift,hash,key,val,added_leaf_QMARK_);
}
});
cljs.core.HashCollisionNode.prototype.inode_assoc = (function (shift,hash,key,val,added_leaf_QMARK_){
var self__ = this;
var inode = this;
if((hash === self__.collision_hash)){
var idx = cljs.core.hash_collision_node_find_index(self__.arr,self__.cnt,key);
if((idx === (-1))){
var len = ((2) * self__.cnt);
var new_arr = (new Array((len + (2))));
cljs.core.array_copy(self__.arr,(0),new_arr,(0),len);
(new_arr[len] = key);
(new_arr[(len + (1))] = val);
added_leaf_QMARK_.val = true;
return (new cljs.core.HashCollisionNode(null,self__.collision_hash,(self__.cnt + (1)),new_arr));
} else {
if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((self__.arr[(idx + (1))]),val)){
return inode;
} else {
return (new cljs.core.HashCollisionNode(null,self__.collision_hash,self__.cnt,cljs.core.clone_and_set.cljs$core$IFn$_invoke$arity$3(self__.arr,(idx + (1)),val)));
}
}
} else {
return (new cljs.core.BitmapIndexedNode(null,(1 << ((self__.collision_hash >>> shift) & 0x01f)),[null,inode])).inode_assoc(shift,hash,key,val,added_leaf_QMARK_);
}
});
cljs.core.HashCollisionNode.prototype.ensure_editable_array = (function (e,count,array){
var self__ = this;
var inode = this;
if((e === self__.edit)){
self__.arr = array;
self__.cnt = count;
return inode;
} else {
return (new cljs.core.HashCollisionNode(self__.edit,self__.collision_hash,count,array));
}
});
cljs.core.HashCollisionNode.prototype.inode_find = (function (shift,hash,key,not_found){
var self__ = this;
var inode = this;
var idx = cljs.core.hash_collision_node_find_index(self__.arr,self__.cnt,key);
if((idx < (0))){
return not_found;
} else {
if(cljs.core.key_test(key,(self__.arr[idx]))){
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(self__.arr[idx]),(self__.arr[(idx + (1))])], null);
} else {
return not_found;
}
}
});
cljs.core.HashCollisionNode.prototype.inode_without = (function (shift,hash,key){
var self__ = this;
var inode = this;
var idx = cljs.core.hash_collision_node_find_index(self__.arr,self__.cnt,key);
if((idx === (-1))){
return inode;
} else {
if((self__.cnt === (1))){
return null;
} else {
return (new cljs.core.HashCollisionNode(null,self__.collision_hash,(self__.cnt - (1)),cljs.core.remove_pair(self__.arr,cljs.core.quot(idx,(2)))));
}
}
});
cljs.core.HashCollisionNode.prototype.cljs$core$IIterable$_iterator$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return (new cljs.core.NodeIterator(self__.arr,(0),null,null));
});
cljs.core.HashCollisionNode.getBasis = (function (){
return new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$edit,cljs.core.with_meta(cljs.core.cst$sym$collision_DASH_hash,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null)),cljs.core.with_meta(cljs.core.cst$sym$cnt,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null)),cljs.core.with_meta(cljs.core.cst$sym$arr,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null))], null);
});
cljs.core.HashCollisionNode.cljs$lang$type = true;
cljs.core.HashCollisionNode.cljs$lang$ctorStr = "cljs.core/HashCollisionNode";
cljs.core.HashCollisionNode.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/HashCollisionNode");
});
cljs.core.__GT_HashCollisionNode = (function cljs$core$__GT_HashCollisionNode(edit,collision_hash,cnt,arr){
return (new cljs.core.HashCollisionNode(edit,collision_hash,cnt,arr));
});
cljs.core.create_node = (function cljs$core$create_node(var_args){
var G__13459 = arguments.length;
switch (G__13459) {
case 6:
return cljs.core.create_node.cljs$core$IFn$_invoke$arity$6((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]));
break;
case 7:
return cljs.core.create_node.cljs$core$IFn$_invoke$arity$7((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]),(arguments[(5)]),(arguments[(6)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.create_node.cljs$core$IFn$_invoke$arity$6 = (function (shift,key1,val1,key2hash,key2,val2){
var key1hash = cljs.core.hash(key1);
if((key1hash === key2hash)){
return (new cljs.core.HashCollisionNode(null,key1hash,(2),[key1,val1,key2,val2]));
} else {
var added_leaf_QMARK_ = (new cljs.core.Box(false));
return cljs.core.BitmapIndexedNode.EMPTY.inode_assoc(shift,key1hash,key1,val1,added_leaf_QMARK_).inode_assoc(shift,key2hash,key2,val2,added_leaf_QMARK_);
}
});
cljs.core.create_node.cljs$core$IFn$_invoke$arity$7 = (function (edit,shift,key1,val1,key2hash,key2,val2){
var key1hash = cljs.core.hash(key1);
if((key1hash === key2hash)){
return (new cljs.core.HashCollisionNode(null,key1hash,(2),[key1,val1,key2,val2]));
} else {
var added_leaf_QMARK_ = (new cljs.core.Box(false));
return cljs.core.BitmapIndexedNode.EMPTY.inode_assoc_BANG_(edit,shift,key1hash,key1,val1,added_leaf_QMARK_).inode_assoc_BANG_(edit,shift,key2hash,key2,val2,added_leaf_QMARK_);
}
});
cljs.core.create_node.cljs$lang$maxFixedArity = 7;
/**
* @constructor
* @implements {cljs.core.IEquiv}
* @implements {cljs.core.IHash}
* @implements {cljs.core.ICollection}
* @implements {cljs.core.IEmptyableCollection}
* @implements {cljs.core.ISeq}
* @implements {cljs.core.INext}
* @implements {cljs.core.ISeqable}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.ISequential}
* @implements {cljs.core.IWithMeta}
* @implements {cljs.core.IReduce}
*/
cljs.core.NodeSeq = (function (meta,nodes,i,s,__hash){
this.meta = meta;
this.nodes = nodes;
this.i = i;
this.s = s;
this.__hash = __hash;
this.cljs$lang$protocol_mask$partition0$ = 32374988;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
cljs.core.NodeSeq.prototype.toString = (function (){
var self__ = this;
var coll = this;
return cljs.core.pr_str_STAR_(coll);
});
cljs.core.NodeSeq.prototype.equiv = (function (other){
var self__ = this;
var this$ = this;
return this$.cljs$core$IEquiv$_equiv$arity$2(null,other);
});
cljs.core.NodeSeq.prototype.indexOf = (function() {
var G__13461 = null;
var G__13461__1 = (function (x){
var self__ = this;
var coll = this;
return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));
});
var G__13461__2 = (function (x,start){
var self__ = this;
var coll = this;
return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);
});
G__13461 = function(x,start){
switch(arguments.length){
case 1:
return G__13461__1.call(this,x);
case 2:
return G__13461__2.call(this,x,start);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13461.cljs$core$IFn$_invoke$arity$1 = G__13461__1;
G__13461.cljs$core$IFn$_invoke$arity$2 = G__13461__2;
return G__13461;
})()
;
cljs.core.NodeSeq.prototype.lastIndexOf = (function() {
var G__13462 = null;
var G__13462__1 = (function (x){
var self__ = this;
var coll = this;
return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));
});
var G__13462__2 = (function (x,start){
var self__ = this;
var coll = this;
return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);
});
G__13462 = function(x,start){
switch(arguments.length){
case 1:
return G__13462__1.call(this,x);
case 2:
return G__13462__2.call(this,x,start);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13462.cljs$core$IFn$_invoke$arity$1 = G__13462__1;
G__13462.cljs$core$IFn$_invoke$arity$2 = G__13462__2;
return G__13462;
})()
;
cljs.core.NodeSeq.prototype.cljs$core$IMeta$_meta$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return self__.meta;
});
cljs.core.NodeSeq.prototype.cljs$core$INext$_next$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
if((self__.s == null)){
return cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3(self__.nodes,(self__.i + (2)),null);
} else {
return cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3(self__.nodes,self__.i,cljs.core.next(self__.s));
}
});
cljs.core.NodeSeq.prototype.cljs$core$IHash$_hash$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
var h__9238__auto__ = self__.__hash;
if(!((h__9238__auto__ == null))){
return h__9238__auto__;
} else {
var h__9238__auto____$1 = cljs.core.hash_ordered_coll(coll__$1);
self__.__hash = h__9238__auto____$1;
return h__9238__auto____$1;
}
});
cljs.core.NodeSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (coll,other){
var self__ = this;
var coll__$1 = this;
return cljs.core.equiv_sequential(coll__$1,other);
});
cljs.core.NodeSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return cljs.core._with_meta(cljs.core.List.EMPTY,self__.meta);
});
cljs.core.NodeSeq.prototype.cljs$core$IReduce$_reduce$arity$2 = (function (coll,f){
var self__ = this;
var coll__$1 = this;
return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);
});
cljs.core.NodeSeq.prototype.cljs$core$IReduce$_reduce$arity$3 = (function (coll,f,start){
var self__ = this;
var coll__$1 = this;
return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);
});
cljs.core.NodeSeq.prototype.cljs$core$ISeq$_first$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
if((self__.s == null)){
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(self__.nodes[self__.i]),(self__.nodes[(self__.i + (1))])], null);
} else {
return cljs.core.first(self__.s);
}
});
cljs.core.NodeSeq.prototype.cljs$core$ISeq$_rest$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
var ret = (((self__.s == null))?cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3(self__.nodes,(self__.i + (2)),null):cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3(self__.nodes,self__.i,cljs.core.next(self__.s)));
if(!((ret == null))){
return ret;
} else {
return cljs.core.List.EMPTY;
}
});
cljs.core.NodeSeq.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (this$){
var self__ = this;
var this$__$1 = this;
return this$__$1;
});
cljs.core.NodeSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (coll,meta__$1){
var self__ = this;
var coll__$1 = this;
return (new cljs.core.NodeSeq(meta__$1,self__.nodes,self__.i,self__.s,self__.__hash));
});
cljs.core.NodeSeq.prototype.cljs$core$ICollection$_conj$arity$2 = (function (coll,o){
var self__ = this;
var coll__$1 = this;
return cljs.core.cons(o,coll__$1);
});
cljs.core.NodeSeq.getBasis = (function (){
return new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$meta,cljs.core.cst$sym$nodes,cljs.core.cst$sym$i,cljs.core.cst$sym$s,cljs.core.with_meta(cljs.core.cst$sym$__hash,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null))], null);
});
cljs.core.NodeSeq.cljs$lang$type = true;
cljs.core.NodeSeq.cljs$lang$ctorStr = "cljs.core/NodeSeq";
cljs.core.NodeSeq.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/NodeSeq");
});
cljs.core.__GT_NodeSeq = (function cljs$core$__GT_NodeSeq(meta,nodes,i,s,__hash){
return (new cljs.core.NodeSeq(meta,nodes,i,s,__hash));
});
var G__13463_13466 = cljs.core.NodeSeq.prototype;
var G__13464_13467 = cljs.core.ITER_SYMBOL;
var G__13465_13468 = ((function (G__13463_13466,G__13464_13467){
return (function (){
var this__9929__auto__ = this;
return cljs.core.es6_iterator(this__9929__auto__);
});})(G__13463_13466,G__13464_13467))
;
goog.object.set(G__13463_13466,G__13464_13467,G__13465_13468);
cljs.core.create_inode_seq = (function cljs$core$create_inode_seq(var_args){
var G__13470 = arguments.length;
switch (G__13470) {
case 1:
return cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 3:
return cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$1 = (function (nodes){
return cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3(nodes,(0),null);
});
cljs.core.create_inode_seq.cljs$core$IFn$_invoke$arity$3 = (function (nodes,i,s){
if((s == null)){
var len = nodes.length;
var j = i;
while(true){
if((j < len)){
if(!(((nodes[j]) == null))){
return (new cljs.core.NodeSeq(null,nodes,j,null,null));
} else {
var temp__5455__auto__ = (nodes[(j + (1))]);
if(cljs.core.truth_(temp__5455__auto__)){
var node = temp__5455__auto__;
var temp__5455__auto____$1 = node.inode_seq();
if(cljs.core.truth_(temp__5455__auto____$1)){
var node_seq = temp__5455__auto____$1;
return (new cljs.core.NodeSeq(null,nodes,(j + (2)),node_seq,null));
} else {
var G__13472 = (j + (2));
j = G__13472;
continue;
}
} else {
var G__13473 = (j + (2));
j = G__13473;
continue;
}
}
} else {
return null;
}
break;
}
} else {
return (new cljs.core.NodeSeq(null,nodes,i,s,null));
}
});
cljs.core.create_inode_seq.cljs$lang$maxFixedArity = 3;
/**
* @constructor
* @implements {cljs.core.IEquiv}
* @implements {cljs.core.IHash}
* @implements {cljs.core.ICollection}
* @implements {cljs.core.IEmptyableCollection}
* @implements {cljs.core.ISeq}
* @implements {cljs.core.INext}
* @implements {cljs.core.ISeqable}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.ISequential}
* @implements {cljs.core.IWithMeta}
* @implements {cljs.core.IReduce}
*/
cljs.core.ArrayNodeSeq = (function (meta,nodes,i,s,__hash){
this.meta = meta;
this.nodes = nodes;
this.i = i;
this.s = s;
this.__hash = __hash;
this.cljs$lang$protocol_mask$partition0$ = 32374988;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
cljs.core.ArrayNodeSeq.prototype.toString = (function (){
var self__ = this;
var coll = this;
return cljs.core.pr_str_STAR_(coll);
});
cljs.core.ArrayNodeSeq.prototype.equiv = (function (other){
var self__ = this;
var this$ = this;
return this$.cljs$core$IEquiv$_equiv$arity$2(null,other);
});
cljs.core.ArrayNodeSeq.prototype.indexOf = (function() {
var G__13474 = null;
var G__13474__1 = (function (x){
var self__ = this;
var coll = this;
return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));
});
var G__13474__2 = (function (x,start){
var self__ = this;
var coll = this;
return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);
});
G__13474 = function(x,start){
switch(arguments.length){
case 1:
return G__13474__1.call(this,x);
case 2:
return G__13474__2.call(this,x,start);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13474.cljs$core$IFn$_invoke$arity$1 = G__13474__1;
G__13474.cljs$core$IFn$_invoke$arity$2 = G__13474__2;
return G__13474;
})()
;
cljs.core.ArrayNodeSeq.prototype.lastIndexOf = (function() {
var G__13475 = null;
var G__13475__1 = (function (x){
var self__ = this;
var coll = this;
return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));
});
var G__13475__2 = (function (x,start){
var self__ = this;
var coll = this;
return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);
});
G__13475 = function(x,start){
switch(arguments.length){
case 1:
return G__13475__1.call(this,x);
case 2:
return G__13475__2.call(this,x,start);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13475.cljs$core$IFn$_invoke$arity$1 = G__13475__1;
G__13475.cljs$core$IFn$_invoke$arity$2 = G__13475__2;
return G__13475;
})()
;
cljs.core.ArrayNodeSeq.prototype.cljs$core$IMeta$_meta$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return self__.meta;
});
cljs.core.ArrayNodeSeq.prototype.cljs$core$INext$_next$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$4(null,self__.nodes,self__.i,cljs.core.next(self__.s));
});
cljs.core.ArrayNodeSeq.prototype.cljs$core$IHash$_hash$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
var h__9238__auto__ = self__.__hash;
if(!((h__9238__auto__ == null))){
return h__9238__auto__;
} else {
var h__9238__auto____$1 = cljs.core.hash_ordered_coll(coll__$1);
self__.__hash = h__9238__auto____$1;
return h__9238__auto____$1;
}
});
cljs.core.ArrayNodeSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (coll,other){
var self__ = this;
var coll__$1 = this;
return cljs.core.equiv_sequential(coll__$1,other);
});
cljs.core.ArrayNodeSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return cljs.core._with_meta(cljs.core.List.EMPTY,self__.meta);
});
cljs.core.ArrayNodeSeq.prototype.cljs$core$IReduce$_reduce$arity$2 = (function (coll,f){
var self__ = this;
var coll__$1 = this;
return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);
});
cljs.core.ArrayNodeSeq.prototype.cljs$core$IReduce$_reduce$arity$3 = (function (coll,f,start){
var self__ = this;
var coll__$1 = this;
return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);
});
cljs.core.ArrayNodeSeq.prototype.cljs$core$ISeq$_first$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return cljs.core.first(self__.s);
});
cljs.core.ArrayNodeSeq.prototype.cljs$core$ISeq$_rest$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
var ret = cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$4(null,self__.nodes,self__.i,cljs.core.next(self__.s));
if(!((ret == null))){
return ret;
} else {
return cljs.core.List.EMPTY;
}
});
cljs.core.ArrayNodeSeq.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (this$){
var self__ = this;
var this$__$1 = this;
return this$__$1;
});
cljs.core.ArrayNodeSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (coll,meta__$1){
var self__ = this;
var coll__$1 = this;
return (new cljs.core.ArrayNodeSeq(meta__$1,self__.nodes,self__.i,self__.s,self__.__hash));
});
cljs.core.ArrayNodeSeq.prototype.cljs$core$ICollection$_conj$arity$2 = (function (coll,o){
var self__ = this;
var coll__$1 = this;
return cljs.core.cons(o,coll__$1);
});
cljs.core.ArrayNodeSeq.getBasis = (function (){
return new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$meta,cljs.core.cst$sym$nodes,cljs.core.cst$sym$i,cljs.core.cst$sym$s,cljs.core.with_meta(cljs.core.cst$sym$__hash,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null))], null);
});
cljs.core.ArrayNodeSeq.cljs$lang$type = true;
cljs.core.ArrayNodeSeq.cljs$lang$ctorStr = "cljs.core/ArrayNodeSeq";
cljs.core.ArrayNodeSeq.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/ArrayNodeSeq");
});
cljs.core.__GT_ArrayNodeSeq = (function cljs$core$__GT_ArrayNodeSeq(meta,nodes,i,s,__hash){
return (new cljs.core.ArrayNodeSeq(meta,nodes,i,s,__hash));
});
var G__13476_13479 = cljs.core.ArrayNodeSeq.prototype;
var G__13477_13480 = cljs.core.ITER_SYMBOL;
var G__13478_13481 = ((function (G__13476_13479,G__13477_13480){
return (function (){
var this__9929__auto__ = this;
return cljs.core.es6_iterator(this__9929__auto__);
});})(G__13476_13479,G__13477_13480))
;
goog.object.set(G__13476_13479,G__13477_13480,G__13478_13481);
cljs.core.create_array_node_seq = (function cljs$core$create_array_node_seq(var_args){
var G__13483 = arguments.length;
switch (G__13483) {
case 1:
return cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 4:
return cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$1 = (function (nodes){
return cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$4(null,nodes,(0),null);
});
cljs.core.create_array_node_seq.cljs$core$IFn$_invoke$arity$4 = (function (meta,nodes,i,s){
if((s == null)){
var len = nodes.length;
var j = i;
while(true){
if((j < len)){
var temp__5455__auto__ = (nodes[j]);
if(cljs.core.truth_(temp__5455__auto__)){
var nj = temp__5455__auto__;
var temp__5455__auto____$1 = nj.inode_seq();
if(cljs.core.truth_(temp__5455__auto____$1)){
var ns = temp__5455__auto____$1;
return (new cljs.core.ArrayNodeSeq(meta,nodes,(j + (1)),ns,null));
} else {
var G__13485 = (j + (1));
j = G__13485;
continue;
}
} else {
var G__13486 = (j + (1));
j = G__13486;
continue;
}
} else {
return null;
}
break;
}
} else {
return (new cljs.core.ArrayNodeSeq(meta,nodes,i,s,null));
}
});
cljs.core.create_array_node_seq.cljs$lang$maxFixedArity = 4;
/**
* @constructor
*/
cljs.core.HashMapIter = (function (nil_val,root_iter,seen){
this.nil_val = nil_val;
this.root_iter = root_iter;
this.seen = seen;
});
cljs.core.HashMapIter.prototype.hasNext = (function (){
var self__ = this;
var _ = this;
return (!(self__.seen)) || (self__.root_iter.hasNext());
});
cljs.core.HashMapIter.prototype.next = (function (){
var self__ = this;
var _ = this;
if(!(self__.seen)){
self__.seen = true;
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,self__.nil_val], null);
} else {
return self__.root_iter.next();
}
});
cljs.core.HashMapIter.prototype.remove = (function (){
var self__ = this;
var _ = this;
return (new Error("Unsupported operation"));
});
cljs.core.HashMapIter.getBasis = (function (){
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$nil_DASH_val,cljs.core.cst$sym$root_DASH_iter,cljs.core.with_meta(cljs.core.cst$sym$seen,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null))], null);
});
cljs.core.HashMapIter.cljs$lang$type = true;
cljs.core.HashMapIter.cljs$lang$ctorStr = "cljs.core/HashMapIter";
cljs.core.HashMapIter.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/HashMapIter");
});
cljs.core.__GT_HashMapIter = (function cljs$core$__GT_HashMapIter(nil_val,root_iter,seen){
return (new cljs.core.HashMapIter(nil_val,root_iter,seen));
});
/**
* @constructor
* @implements {cljs.core.IKVReduce}
* @implements {cljs.core.IEquiv}
* @implements {cljs.core.IHash}
* @implements {cljs.core.IFn}
* @implements {cljs.core.ICollection}
* @implements {cljs.core.IEditableCollection}
* @implements {cljs.core.IFind}
* @implements {cljs.core.IEmptyableCollection}
* @implements {cljs.core.ICounted}
* @implements {cljs.core.ISeqable}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.ICloneable}
* @implements {cljs.core.IIterable}
* @implements {cljs.core.IWithMeta}
* @implements {cljs.core.IAssociative}
* @implements {cljs.core.IMap}
* @implements {cljs.core.ILookup}
*/
cljs.core.PersistentHashMap = (function (meta,cnt,root,has_nil_QMARK_,nil_val,__hash){
this.meta = meta;
this.cnt = cnt;
this.root = root;
this.has_nil_QMARK_ = has_nil_QMARK_;
this.nil_val = nil_val;
this.__hash = __hash;
this.cljs$lang$protocol_mask$partition0$ = 16123663;
this.cljs$lang$protocol_mask$partition1$ = 139268;
});
cljs.core.PersistentHashMap.prototype.cljs$core$IFind$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentHashMap.prototype.cljs$core$IFind$_find$arity$2 = (function (coll,k){
var self__ = this;
var coll__$1 = this;
if((k == null)){
if(self__.has_nil_QMARK_){
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,self__.nil_val], null);
} else {
return null;
}
} else {
if((self__.root == null)){
return null;
} else {
return self__.root.inode_find((0),cljs.core.hash(k),k,null);
}
}
});
cljs.core.PersistentHashMap.prototype.toString = (function (){
var self__ = this;
var coll = this;
return cljs.core.pr_str_STAR_(coll);
});
cljs.core.PersistentHashMap.prototype.equiv = (function (other){
var self__ = this;
var this$ = this;
return this$.cljs$core$IEquiv$_equiv$arity$2(null,other);
});
cljs.core.PersistentHashMap.prototype.keys = (function (){
var self__ = this;
var coll = this;
return cljs.core.es6_iterator(cljs.core.keys(coll));
});
cljs.core.PersistentHashMap.prototype.entries = (function (){
var self__ = this;
var coll = this;
return cljs.core.es6_entries_iterator(cljs.core.seq(coll));
});
cljs.core.PersistentHashMap.prototype.values = (function (){
var self__ = this;
var coll = this;
return cljs.core.es6_iterator(cljs.core.vals(coll));
});
cljs.core.PersistentHashMap.prototype.has = (function (k){
var self__ = this;
var coll = this;
return cljs.core.contains_QMARK_(coll,k);
});
cljs.core.PersistentHashMap.prototype.get = (function (k,not_found){
var self__ = this;
var coll = this;
return coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);
});
cljs.core.PersistentHashMap.prototype.forEach = (function (f){
var self__ = this;
var coll = this;
var seq__13488 = cljs.core.seq(coll);
var chunk__13489 = null;
var count__13490 = (0);
var i__13491 = (0);
while(true){
if((i__13491 < count__13490)){
var vec__13492 = chunk__13489.cljs$core$IIndexed$_nth$arity$2(null,i__13491);
var k = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__13492,(0),null);
var v = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__13492,(1),null);
(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));
var G__13500 = seq__13488;
var G__13501 = chunk__13489;
var G__13502 = count__13490;
var G__13503 = (i__13491 + (1));
seq__13488 = G__13500;
chunk__13489 = G__13501;
count__13490 = G__13502;
i__13491 = G__13503;
continue;
} else {
var temp__5457__auto__ = cljs.core.seq(seq__13488);
if(temp__5457__auto__){
var seq__13488__$1 = temp__5457__auto__;
if(cljs.core.chunked_seq_QMARK_(seq__13488__$1)){
var c__9713__auto__ = cljs.core.chunk_first(seq__13488__$1);
var G__13504 = cljs.core.chunk_rest(seq__13488__$1);
var G__13505 = c__9713__auto__;
var G__13506 = cljs.core.count(c__9713__auto__);
var G__13507 = (0);
seq__13488 = G__13504;
chunk__13489 = G__13505;
count__13490 = G__13506;
i__13491 = G__13507;
continue;
} else {
var vec__13495 = cljs.core.first(seq__13488__$1);
var k = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__13495,(0),null);
var v = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__13495,(1),null);
(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));
var G__13508 = cljs.core.next(seq__13488__$1);
var G__13509 = null;
var G__13510 = (0);
var G__13511 = (0);
seq__13488 = G__13508;
chunk__13489 = G__13509;
count__13490 = G__13510;
i__13491 = G__13511;
continue;
}
} else {
return null;
}
}
break;
}
});
cljs.core.PersistentHashMap.prototype.cljs$core$ILookup$_lookup$arity$2 = (function (coll,k){
var self__ = this;
var coll__$1 = this;
return coll__$1.cljs$core$ILookup$_lookup$arity$3(null,k,null);
});
cljs.core.PersistentHashMap.prototype.cljs$core$ILookup$_lookup$arity$3 = (function (coll,k,not_found){
var self__ = this;
var coll__$1 = this;
if((k == null)){
if(self__.has_nil_QMARK_){
return self__.nil_val;
} else {
return not_found;
}
} else {
if((self__.root == null)){
return not_found;
} else {
return self__.root.inode_lookup((0),cljs.core.hash(k),k,not_found);
}
}
});
cljs.core.PersistentHashMap.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 = (function (coll,f,init){
var self__ = this;
var coll__$1 = this;
var init__$1 = ((self__.has_nil_QMARK_)?(f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(init,null,self__.nil_val) : f.call(null,init,null,self__.nil_val)):init);
if(cljs.core.reduced_QMARK_(init__$1)){
return cljs.core.deref(init__$1);
} else {
if(!((self__.root == null))){
return cljs.core.unreduced(self__.root.kv_reduce(f,init__$1));
} else {
return init__$1;
}
}
});
cljs.core.PersistentHashMap.prototype.cljs$core$IIterable$_iterator$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
var root_iter = ((self__.root)?cljs.core._iterator(self__.root):cljs.core.nil_iter());
if(self__.has_nil_QMARK_){
return (new cljs.core.HashMapIter(self__.nil_val,root_iter,false));
} else {
return root_iter;
}
});
cljs.core.PersistentHashMap.prototype.cljs$core$IMeta$_meta$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return self__.meta;
});
cljs.core.PersistentHashMap.prototype.cljs$core$ICloneable$_clone$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return (new cljs.core.PersistentHashMap(self__.meta,self__.cnt,self__.root,self__.has_nil_QMARK_,self__.nil_val,self__.__hash));
});
cljs.core.PersistentHashMap.prototype.cljs$core$ICounted$_count$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return self__.cnt;
});
cljs.core.PersistentHashMap.prototype.cljs$core$IHash$_hash$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
var h__9238__auto__ = self__.__hash;
if(!((h__9238__auto__ == null))){
return h__9238__auto__;
} else {
var h__9238__auto____$1 = cljs.core.hash_unordered_coll(coll__$1);
self__.__hash = h__9238__auto____$1;
return h__9238__auto____$1;
}
});
cljs.core.PersistentHashMap.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (coll,other){
var self__ = this;
var coll__$1 = this;
return cljs.core.equiv_map(coll__$1,other);
});
cljs.core.PersistentHashMap.prototype.cljs$core$IEditableCollection$_as_transient$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return (new cljs.core.TransientHashMap({},self__.root,self__.cnt,self__.has_nil_QMARK_,self__.nil_val));
});
cljs.core.PersistentHashMap.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return cljs.core._with_meta(cljs.core.PersistentHashMap.EMPTY,self__.meta);
});
cljs.core.PersistentHashMap.prototype.cljs$core$IMap$_dissoc$arity$2 = (function (coll,k){
var self__ = this;
var coll__$1 = this;
if((k == null)){
if(self__.has_nil_QMARK_){
return (new cljs.core.PersistentHashMap(self__.meta,(self__.cnt - (1)),self__.root,false,null,null));
} else {
return coll__$1;
}
} else {
if((self__.root == null)){
return coll__$1;
} else {
var new_root = self__.root.inode_without((0),cljs.core.hash(k),k);
if((new_root === self__.root)){
return coll__$1;
} else {
return (new cljs.core.PersistentHashMap(self__.meta,(self__.cnt - (1)),new_root,self__.has_nil_QMARK_,self__.nil_val,null));
}
}
}
});
cljs.core.PersistentHashMap.prototype.cljs$core$IAssociative$_assoc$arity$3 = (function (coll,k,v){
var self__ = this;
var coll__$1 = this;
if((k == null)){
if((self__.has_nil_QMARK_) && ((v === self__.nil_val))){
return coll__$1;
} else {
return (new cljs.core.PersistentHashMap(self__.meta,((self__.has_nil_QMARK_)?self__.cnt:(self__.cnt + (1))),self__.root,true,v,null));
}
} else {
var added_leaf_QMARK_ = (new cljs.core.Box(false));
var new_root = (((self__.root == null))?cljs.core.BitmapIndexedNode.EMPTY:self__.root).inode_assoc((0),cljs.core.hash(k),k,v,added_leaf_QMARK_);
if((new_root === self__.root)){
return coll__$1;
} else {
return (new cljs.core.PersistentHashMap(self__.meta,((added_leaf_QMARK_.val)?(self__.cnt + (1)):self__.cnt),new_root,self__.has_nil_QMARK_,self__.nil_val,null));
}
}
});
cljs.core.PersistentHashMap.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 = (function (coll,k){
var self__ = this;
var coll__$1 = this;
if((k == null)){
return self__.has_nil_QMARK_;
} else {
if((self__.root == null)){
return false;
} else {
return !((self__.root.inode_lookup((0),cljs.core.hash(k),k,cljs.core.lookup_sentinel) === cljs.core.lookup_sentinel));
}
}
});
cljs.core.PersistentHashMap.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
if((self__.cnt > (0))){
var s = ((!((self__.root == null)))?self__.root.inode_seq():null);
if(self__.has_nil_QMARK_){
return cljs.core.cons(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,self__.nil_val], null),s);
} else {
return s;
}
} else {
return null;
}
});
cljs.core.PersistentHashMap.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (coll,meta__$1){
var self__ = this;
var coll__$1 = this;
return (new cljs.core.PersistentHashMap(meta__$1,self__.cnt,self__.root,self__.has_nil_QMARK_,self__.nil_val,self__.__hash));
});
cljs.core.PersistentHashMap.prototype.cljs$core$ICollection$_conj$arity$2 = (function (coll,entry){
var self__ = this;
var coll__$1 = this;
if(cljs.core.vector_QMARK_(entry)){
return coll__$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.cljs$core$IFn$_invoke$arity$2(entry,(0)),cljs.core._nth.cljs$core$IFn$_invoke$arity$2(entry,(1)));
} else {
var ret = coll__$1;
var es = cljs.core.seq(entry);
while(true){
if((es == null)){
return ret;
} else {
var e = cljs.core.first(es);
if(cljs.core.vector_QMARK_(e)){
var G__13512 = ret.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.cljs$core$IFn$_invoke$arity$2(e,(0)),cljs.core._nth.cljs$core$IFn$_invoke$arity$2(e,(1)));
var G__13513 = cljs.core.next(es);
ret = G__13512;
es = G__13513;
continue;
} else {
throw (new Error("conj on a map takes map entries or seqables of map entries"));
}
}
break;
}
}
});
cljs.core.PersistentHashMap.prototype.call = (function() {
var G__13514 = null;
var G__13514__2 = (function (self__,k){
var self__ = this;
var self____$1 = this;
var coll = self____$1;
return coll.cljs$core$ILookup$_lookup$arity$2(null,k);
});
var G__13514__3 = (function (self__,k,not_found){
var self__ = this;
var self____$1 = this;
var coll = self____$1;
return coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);
});
G__13514 = function(self__,k,not_found){
switch(arguments.length){
case 2:
return G__13514__2.call(this,self__,k);
case 3:
return G__13514__3.call(this,self__,k,not_found);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13514.cljs$core$IFn$_invoke$arity$2 = G__13514__2;
G__13514.cljs$core$IFn$_invoke$arity$3 = G__13514__3;
return G__13514;
})()
;
cljs.core.PersistentHashMap.prototype.apply = (function (self__,args13487){
var self__ = this;
var self____$1 = this;
return self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args13487)));
});
cljs.core.PersistentHashMap.prototype.cljs$core$IFn$_invoke$arity$1 = (function (k){
var self__ = this;
var coll = this;
return coll.cljs$core$ILookup$_lookup$arity$2(null,k);
});
cljs.core.PersistentHashMap.prototype.cljs$core$IFn$_invoke$arity$2 = (function (k,not_found){
var self__ = this;
var coll = this;
return coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);
});
cljs.core.PersistentHashMap.getBasis = (function (){
return new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$meta,cljs.core.cst$sym$cnt,cljs.core.cst$sym$root,cljs.core.with_meta(cljs.core.cst$sym$has_DASH_nil_QMARK_,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$tag,cljs.core.cst$sym$boolean], null)),cljs.core.cst$sym$nil_DASH_val,cljs.core.with_meta(cljs.core.cst$sym$__hash,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null))], null);
});
cljs.core.PersistentHashMap.cljs$lang$type = true;
cljs.core.PersistentHashMap.cljs$lang$ctorStr = "cljs.core/PersistentHashMap";
cljs.core.PersistentHashMap.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/PersistentHashMap");
});
cljs.core.__GT_PersistentHashMap = (function cljs$core$__GT_PersistentHashMap(meta,cnt,root,has_nil_QMARK_,nil_val,__hash){
return (new cljs.core.PersistentHashMap(meta,cnt,root,has_nil_QMARK_,nil_val,__hash));
});
cljs.core.PersistentHashMap.EMPTY = (new cljs.core.PersistentHashMap(null,(0),null,false,null,cljs.core.empty_unordered_hash));
cljs.core.PersistentHashMap.fromArray = (function (arr,no_clone){
var arr__$1 = ((no_clone)?arr:cljs.core.aclone(arr));
var len = arr__$1.length;
var i = (0);
var ret = cljs.core.transient$(cljs.core.PersistentHashMap.EMPTY);
while(true){
if((i < len)){
var G__13515 = (i + (2));
var G__13516 = cljs.core._assoc_BANG_(ret,(arr__$1[i]),(arr__$1[(i + (1))]));
i = G__13515;
ret = G__13516;
continue;
} else {
return cljs.core._persistent_BANG_(ret);
}
break;
}
});
cljs.core.PersistentHashMap.fromArrays = (function (ks,vs){
var len = ks.length;
var i = (0);
var out = cljs.core.transient$(cljs.core.PersistentHashMap.EMPTY);
while(true){
if((i < len)){
var G__13517 = (i + (1));
var G__13518 = out.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3(null,(ks[i]),(vs[i]));
i = G__13517;
out = G__13518;
continue;
} else {
return cljs.core.persistent_BANG_(out);
}
break;
}
});
cljs.core.PersistentHashMap.createWithCheck = (function (arr){
var len = arr.length;
var ret = cljs.core.transient$(cljs.core.PersistentHashMap.EMPTY);
var i_13519 = (0);
while(true){
if((i_13519 < len)){
cljs.core._assoc_BANG_(ret,(arr[i_13519]),(arr[(i_13519 + (1))]));
if(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core._count(ret),((i_13519 / (2)) + (1)))){
throw (new Error(["Duplicate key: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1((arr[i_13519]))].join('')));
} else {
var G__13520 = (i_13519 + (2));
i_13519 = G__13520;
continue;
}
} else {
}
break;
}
return cljs.core._persistent_BANG_(ret);
});
var G__13521_13524 = cljs.core.PersistentHashMap.prototype;
var G__13522_13525 = cljs.core.ITER_SYMBOL;
var G__13523_13526 = ((function (G__13521_13524,G__13522_13525){
return (function (){
var this__9929__auto__ = this;
return cljs.core.es6_iterator(this__9929__auto__);
});})(G__13521_13524,G__13522_13525))
;
goog.object.set(G__13521_13524,G__13522_13525,G__13523_13526);
/**
* @constructor
* @implements {cljs.core.ITransientMap}
* @implements {cljs.core.ICounted}
* @implements {cljs.core.ITransientCollection}
* @implements {cljs.core.ITransientAssociative}
* @implements {cljs.core.ILookup}
*/
cljs.core.TransientHashMap = (function (edit,root,count,has_nil_QMARK_,nil_val){
this.edit = edit;
this.root = root;
this.count = count;
this.has_nil_QMARK_ = has_nil_QMARK_;
this.nil_val = nil_val;
this.cljs$lang$protocol_mask$partition0$ = 258;
this.cljs$lang$protocol_mask$partition1$ = 56;
});
cljs.core.TransientHashMap.prototype.conj_BANG_ = (function (o){
var self__ = this;
var tcoll = this;
if(self__.edit){
if(((!((o == null)))?((((o.cljs$lang$protocol_mask$partition0$ & (2048))) || ((cljs.core.PROTOCOL_SENTINEL === o.cljs$core$IMapEntry$)))?true:(((!o.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.IMapEntry,o):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IMapEntry,o))){
return tcoll.assoc_BANG_(cljs.core.key(o),cljs.core.val(o));
} else {
var es = cljs.core.seq(o);
var tcoll__$1 = tcoll;
while(true){
var temp__5455__auto__ = cljs.core.first(es);
if(cljs.core.truth_(temp__5455__auto__)){
var e = temp__5455__auto__;
var G__13528 = cljs.core.next(es);
var G__13529 = tcoll__$1.assoc_BANG_(cljs.core.key(e),cljs.core.val(e));
es = G__13528;
tcoll__$1 = G__13529;
continue;
} else {
return tcoll__$1;
}
break;
}
}
} else {
throw (new Error("conj! after persistent"));
}
});
cljs.core.TransientHashMap.prototype.assoc_BANG_ = (function (k,v){
var self__ = this;
var tcoll = this;
if(self__.edit){
if((k == null)){
if((self__.nil_val === v)){
} else {
self__.nil_val = v;
}
if(self__.has_nil_QMARK_){
} else {
self__.count = (self__.count + (1));
self__.has_nil_QMARK_ = true;
}
return tcoll;
} else {
var added_leaf_QMARK_ = (new cljs.core.Box(false));
var node = (((self__.root == null))?cljs.core.BitmapIndexedNode.EMPTY:self__.root).inode_assoc_BANG_(self__.edit,(0),cljs.core.hash(k),k,v,added_leaf_QMARK_);
if((node === self__.root)){
} else {
self__.root = node;
}
if(added_leaf_QMARK_.val){
self__.count = (self__.count + (1));
} else {
}
return tcoll;
}
} else {
throw (new Error("assoc! after persistent!"));
}
});
cljs.core.TransientHashMap.prototype.without_BANG_ = (function (k){
var self__ = this;
var tcoll = this;
if(self__.edit){
if((k == null)){
if(self__.has_nil_QMARK_){
self__.has_nil_QMARK_ = false;
self__.nil_val = null;
self__.count = (self__.count - (1));
return tcoll;
} else {
return tcoll;
}
} else {
if((self__.root == null)){
return tcoll;
} else {
var removed_leaf_QMARK_ = (new cljs.core.Box(false));
var node = self__.root.inode_without_BANG_(self__.edit,(0),cljs.core.hash(k),k,removed_leaf_QMARK_);
if((node === self__.root)){
} else {
self__.root = node;
}
if(removed_leaf_QMARK_.val){
self__.count = (self__.count - (1));
} else {
}
return tcoll;
}
}
} else {
throw (new Error("dissoc! after persistent!"));
}
});
cljs.core.TransientHashMap.prototype.persistent_BANG_ = (function (){
var self__ = this;
var tcoll = this;
if(self__.edit){
self__.edit = null;
return (new cljs.core.PersistentHashMap(null,self__.count,self__.root,self__.has_nil_QMARK_,self__.nil_val,null));
} else {
throw (new Error("persistent! called twice"));
}
});
cljs.core.TransientHashMap.prototype.cljs$core$ICounted$_count$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
if(self__.edit){
return self__.count;
} else {
throw (new Error("count after persistent!"));
}
});
cljs.core.TransientHashMap.prototype.cljs$core$ILookup$_lookup$arity$2 = (function (tcoll,k){
var self__ = this;
var tcoll__$1 = this;
if((k == null)){
if(self__.has_nil_QMARK_){
return self__.nil_val;
} else {
return null;
}
} else {
if((self__.root == null)){
return null;
} else {
return self__.root.inode_lookup((0),cljs.core.hash(k),k);
}
}
});
cljs.core.TransientHashMap.prototype.cljs$core$ILookup$_lookup$arity$3 = (function (tcoll,k,not_found){
var self__ = this;
var tcoll__$1 = this;
if((k == null)){
if(self__.has_nil_QMARK_){
return self__.nil_val;
} else {
return not_found;
}
} else {
if((self__.root == null)){
return not_found;
} else {
return self__.root.inode_lookup((0),cljs.core.hash(k),k,not_found);
}
}
});
cljs.core.TransientHashMap.prototype.cljs$core$ITransientCollection$_conj_BANG_$arity$2 = (function (tcoll,val){
var self__ = this;
var tcoll__$1 = this;
return tcoll__$1.conj_BANG_(val);
});
cljs.core.TransientHashMap.prototype.cljs$core$ITransientCollection$_persistent_BANG_$arity$1 = (function (tcoll){
var self__ = this;
var tcoll__$1 = this;
return tcoll__$1.persistent_BANG_();
});
cljs.core.TransientHashMap.prototype.cljs$core$ITransientAssociative$_assoc_BANG_$arity$3 = (function (tcoll,key,val){
var self__ = this;
var tcoll__$1 = this;
return tcoll__$1.assoc_BANG_(key,val);
});
cljs.core.TransientHashMap.prototype.cljs$core$ITransientMap$_dissoc_BANG_$arity$2 = (function (tcoll,key){
var self__ = this;
var tcoll__$1 = this;
return tcoll__$1.without_BANG_(key);
});
cljs.core.TransientHashMap.getBasis = (function (){
return new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(cljs.core.cst$sym$edit,new cljs.core.PersistentArrayMap(null, 2, [cljs.core.cst$kw$tag,cljs.core.cst$sym$boolean,cljs.core.cst$kw$mutable,true], null)),cljs.core.with_meta(cljs.core.cst$sym$root,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null)),cljs.core.with_meta(cljs.core.cst$sym$count,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null)),cljs.core.with_meta(cljs.core.cst$sym$has_DASH_nil_QMARK_,new cljs.core.PersistentArrayMap(null, 2, [cljs.core.cst$kw$tag,cljs.core.cst$sym$boolean,cljs.core.cst$kw$mutable,true], null)),cljs.core.with_meta(cljs.core.cst$sym$nil_DASH_val,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null))], null);
});
cljs.core.TransientHashMap.cljs$lang$type = true;
cljs.core.TransientHashMap.cljs$lang$ctorStr = "cljs.core/TransientHashMap";
cljs.core.TransientHashMap.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/TransientHashMap");
});
cljs.core.__GT_TransientHashMap = (function cljs$core$__GT_TransientHashMap(edit,root,count,has_nil_QMARK_,nil_val){
return (new cljs.core.TransientHashMap(edit,root,count,has_nil_QMARK_,nil_val));
});
cljs.core.tree_map_seq_push = (function cljs$core$tree_map_seq_push(node,stack,ascending_QMARK_){
var t = node;
var stack__$1 = stack;
while(true){
if(!((t == null))){
var G__13530 = ((ascending_QMARK_)?t.left:t.right);
var G__13531 = cljs.core.conj.cljs$core$IFn$_invoke$arity$2(stack__$1,t);
t = G__13530;
stack__$1 = G__13531;
continue;
} else {
return stack__$1;
}
break;
}
});
/**
* @constructor
* @implements {cljs.core.IEquiv}
* @implements {cljs.core.IHash}
* @implements {cljs.core.ICollection}
* @implements {cljs.core.IEmptyableCollection}
* @implements {cljs.core.ICounted}
* @implements {cljs.core.ISeq}
* @implements {cljs.core.INext}
* @implements {cljs.core.ISeqable}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.ISequential}
* @implements {cljs.core.IWithMeta}
* @implements {cljs.core.IReduce}
*/
cljs.core.PersistentTreeMapSeq = (function (meta,stack,ascending_QMARK_,cnt,__hash){
this.meta = meta;
this.stack = stack;
this.ascending_QMARK_ = ascending_QMARK_;
this.cnt = cnt;
this.__hash = __hash;
this.cljs$lang$protocol_mask$partition0$ = 32374990;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
cljs.core.PersistentTreeMapSeq.prototype.toString = (function (){
var self__ = this;
var coll = this;
return cljs.core.pr_str_STAR_(coll);
});
cljs.core.PersistentTreeMapSeq.prototype.equiv = (function (other){
var self__ = this;
var this$ = this;
return this$.cljs$core$IEquiv$_equiv$arity$2(null,other);
});
cljs.core.PersistentTreeMapSeq.prototype.indexOf = (function() {
var G__13532 = null;
var G__13532__1 = (function (x){
var self__ = this;
var coll = this;
return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));
});
var G__13532__2 = (function (x,start){
var self__ = this;
var coll = this;
return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);
});
G__13532 = function(x,start){
switch(arguments.length){
case 1:
return G__13532__1.call(this,x);
case 2:
return G__13532__2.call(this,x,start);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13532.cljs$core$IFn$_invoke$arity$1 = G__13532__1;
G__13532.cljs$core$IFn$_invoke$arity$2 = G__13532__2;
return G__13532;
})()
;
cljs.core.PersistentTreeMapSeq.prototype.lastIndexOf = (function() {
var G__13533 = null;
var G__13533__1 = (function (x){
var self__ = this;
var coll = this;
return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));
});
var G__13533__2 = (function (x,start){
var self__ = this;
var coll = this;
return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);
});
G__13533 = function(x,start){
switch(arguments.length){
case 1:
return G__13533__1.call(this,x);
case 2:
return G__13533__2.call(this,x,start);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13533.cljs$core$IFn$_invoke$arity$1 = G__13533__1;
G__13533.cljs$core$IFn$_invoke$arity$2 = G__13533__2;
return G__13533;
})()
;
cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IMeta$_meta$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return self__.meta;
});
cljs.core.PersistentTreeMapSeq.prototype.cljs$core$INext$_next$arity$1 = (function (this$){
var self__ = this;
var this$__$1 = this;
var t = cljs.core.first(self__.stack);
var next_stack = cljs.core.tree_map_seq_push(((self__.ascending_QMARK_)?t.right:t.left),cljs.core.next(self__.stack),self__.ascending_QMARK_);
if((next_stack == null)){
return null;
} else {
return (new cljs.core.PersistentTreeMapSeq(null,next_stack,self__.ascending_QMARK_,(self__.cnt - (1)),null));
}
});
cljs.core.PersistentTreeMapSeq.prototype.cljs$core$ICounted$_count$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
if((self__.cnt < (0))){
return (cljs.core.count(cljs.core.next(coll__$1)) + (1));
} else {
return self__.cnt;
}
});
cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IHash$_hash$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
var h__9238__auto__ = self__.__hash;
if(!((h__9238__auto__ == null))){
return h__9238__auto__;
} else {
var h__9238__auto____$1 = cljs.core.hash_ordered_coll(coll__$1);
self__.__hash = h__9238__auto____$1;
return h__9238__auto____$1;
}
});
cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (coll,other){
var self__ = this;
var coll__$1 = this;
return cljs.core.equiv_sequential(coll__$1,other);
});
cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return cljs.core._with_meta(cljs.core.List.EMPTY,self__.meta);
});
cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IReduce$_reduce$arity$2 = (function (coll,f){
var self__ = this;
var coll__$1 = this;
return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);
});
cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IReduce$_reduce$arity$3 = (function (coll,f,start){
var self__ = this;
var coll__$1 = this;
return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);
});
cljs.core.PersistentTreeMapSeq.prototype.cljs$core$ISeq$_first$arity$1 = (function (this$){
var self__ = this;
var this$__$1 = this;
return cljs.core.peek(self__.stack);
});
cljs.core.PersistentTreeMapSeq.prototype.cljs$core$ISeq$_rest$arity$1 = (function (this$){
var self__ = this;
var this$__$1 = this;
var t = cljs.core.first(self__.stack);
var next_stack = cljs.core.tree_map_seq_push(((self__.ascending_QMARK_)?t.right:t.left),cljs.core.next(self__.stack),self__.ascending_QMARK_);
if(!((next_stack == null))){
return (new cljs.core.PersistentTreeMapSeq(null,next_stack,self__.ascending_QMARK_,(self__.cnt - (1)),null));
} else {
return cljs.core.List.EMPTY;
}
});
cljs.core.PersistentTreeMapSeq.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (this$){
var self__ = this;
var this$__$1 = this;
return this$__$1;
});
cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (coll,meta__$1){
var self__ = this;
var coll__$1 = this;
return (new cljs.core.PersistentTreeMapSeq(meta__$1,self__.stack,self__.ascending_QMARK_,self__.cnt,self__.__hash));
});
cljs.core.PersistentTreeMapSeq.prototype.cljs$core$ICollection$_conj$arity$2 = (function (coll,o){
var self__ = this;
var coll__$1 = this;
return cljs.core.cons(o,coll__$1);
});
cljs.core.PersistentTreeMapSeq.getBasis = (function (){
return new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$meta,cljs.core.cst$sym$stack,cljs.core.with_meta(cljs.core.cst$sym$ascending_QMARK_,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$tag,cljs.core.cst$sym$boolean], null)),cljs.core.cst$sym$cnt,cljs.core.with_meta(cljs.core.cst$sym$__hash,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null))], null);
});
cljs.core.PersistentTreeMapSeq.cljs$lang$type = true;
cljs.core.PersistentTreeMapSeq.cljs$lang$ctorStr = "cljs.core/PersistentTreeMapSeq";
cljs.core.PersistentTreeMapSeq.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/PersistentTreeMapSeq");
});
cljs.core.__GT_PersistentTreeMapSeq = (function cljs$core$__GT_PersistentTreeMapSeq(meta,stack,ascending_QMARK_,cnt,__hash){
return (new cljs.core.PersistentTreeMapSeq(meta,stack,ascending_QMARK_,cnt,__hash));
});
var G__13534_13537 = cljs.core.PersistentTreeMapSeq.prototype;
var G__13535_13538 = cljs.core.ITER_SYMBOL;
var G__13536_13539 = ((function (G__13534_13537,G__13535_13538){
return (function (){
var this__9929__auto__ = this;
return cljs.core.es6_iterator(this__9929__auto__);
});})(G__13534_13537,G__13535_13538))
;
goog.object.set(G__13534_13537,G__13535_13538,G__13536_13539);
cljs.core.create_tree_map_seq = (function cljs$core$create_tree_map_seq(tree,ascending_QMARK_,cnt){
return (new cljs.core.PersistentTreeMapSeq(null,cljs.core.tree_map_seq_push(tree,null,ascending_QMARK_),ascending_QMARK_,cnt,null));
});
cljs.core.balance_left = (function cljs$core$balance_left(key,val,ins,right){
if((ins instanceof cljs.core.RedNode)){
if((ins.left instanceof cljs.core.RedNode)){
return (new cljs.core.RedNode(ins.key,ins.val,ins.left.blacken(),(new cljs.core.BlackNode(key,val,ins.right,right,null)),null));
} else {
if((ins.right instanceof cljs.core.RedNode)){
return (new cljs.core.RedNode(ins.right.key,ins.right.val,(new cljs.core.BlackNode(ins.key,ins.val,ins.left,ins.right.left,null)),(new cljs.core.BlackNode(key,val,ins.right.right,right,null)),null));
} else {
return (new cljs.core.BlackNode(key,val,ins,right,null));
}
}
} else {
return (new cljs.core.BlackNode(key,val,ins,right,null));
}
});
cljs.core.balance_right = (function cljs$core$balance_right(key,val,left,ins){
if((ins instanceof cljs.core.RedNode)){
if((ins.right instanceof cljs.core.RedNode)){
return (new cljs.core.RedNode(ins.key,ins.val,(new cljs.core.BlackNode(key,val,left,ins.left,null)),ins.right.blacken(),null));
} else {
if((ins.left instanceof cljs.core.RedNode)){
return (new cljs.core.RedNode(ins.left.key,ins.left.val,(new cljs.core.BlackNode(key,val,left,ins.left.left,null)),(new cljs.core.BlackNode(ins.key,ins.val,ins.left.right,ins.right,null)),null));
} else {
return (new cljs.core.BlackNode(key,val,left,ins,null));
}
}
} else {
return (new cljs.core.BlackNode(key,val,left,ins,null));
}
});
cljs.core.balance_left_del = (function cljs$core$balance_left_del(key,val,del,right){
if((del instanceof cljs.core.RedNode)){
return (new cljs.core.RedNode(key,val,del.blacken(),right,null));
} else {
if((right instanceof cljs.core.BlackNode)){
return cljs.core.balance_right(key,val,del,right.redden());
} else {
if(((right instanceof cljs.core.RedNode)) && ((right.left instanceof cljs.core.BlackNode))){
return (new cljs.core.RedNode(right.left.key,right.left.val,(new cljs.core.BlackNode(key,val,del,right.left.left,null)),cljs.core.balance_right(right.key,right.val,right.left.right,right.right.redden()),null));
} else {
throw (new Error("red-black tree invariant violation"));
}
}
}
});
cljs.core.balance_right_del = (function cljs$core$balance_right_del(key,val,left,del){
if((del instanceof cljs.core.RedNode)){
return (new cljs.core.RedNode(key,val,left,del.blacken(),null));
} else {
if((left instanceof cljs.core.BlackNode)){
return cljs.core.balance_left(key,val,left.redden(),del);
} else {
if(((left instanceof cljs.core.RedNode)) && ((left.right instanceof cljs.core.BlackNode))){
return (new cljs.core.RedNode(left.right.key,left.right.val,cljs.core.balance_left(left.key,left.val,left.left.redden(),left.right.left),(new cljs.core.BlackNode(key,val,left.right.right,del,null)),null));
} else {
throw (new Error("red-black tree invariant violation"));
}
}
}
});
cljs.core.tree_map_kv_reduce = (function cljs$core$tree_map_kv_reduce(node,f,init){
var init__$1 = ((!((node.left == null)))?(function (){var G__13540 = node.left;
var G__13541 = f;
var G__13542 = init;
return (cljs.core.tree_map_kv_reduce.cljs$core$IFn$_invoke$arity$3 ? cljs.core.tree_map_kv_reduce.cljs$core$IFn$_invoke$arity$3(G__13540,G__13541,G__13542) : cljs.core.tree_map_kv_reduce.call(null,G__13540,G__13541,G__13542));
})():init);
if(cljs.core.reduced_QMARK_(init__$1)){
return init__$1;
} else {
var init__$2 = (function (){var G__13543 = init__$1;
var G__13544 = node.key;
var G__13545 = node.val;
return (f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(G__13543,G__13544,G__13545) : f.call(null,G__13543,G__13544,G__13545));
})();
if(cljs.core.reduced_QMARK_(init__$2)){
return init__$2;
} else {
if(!((node.right == null))){
var G__13546 = node.right;
var G__13547 = f;
var G__13548 = init__$2;
return (cljs.core.tree_map_kv_reduce.cljs$core$IFn$_invoke$arity$3 ? cljs.core.tree_map_kv_reduce.cljs$core$IFn$_invoke$arity$3(G__13546,G__13547,G__13548) : cljs.core.tree_map_kv_reduce.call(null,G__13546,G__13547,G__13548));
} else {
return init__$2;
}
}
}
});
/**
* @constructor
* @implements {cljs.core.IIndexed}
* @implements {cljs.core.IVector}
* @implements {cljs.core.IEquiv}
* @implements {cljs.core.IHash}
* @implements {cljs.core.IFn}
* @implements {cljs.core.ICollection}
* @implements {cljs.core.IFind}
* @implements {cljs.core.IEmptyableCollection}
* @implements {cljs.core.ICounted}
* @implements {cljs.core.ISeqable}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.IStack}
* @implements {cljs.core.IMapEntry}
* @implements {cljs.core.ISequential}
* @implements {cljs.core.IWithMeta}
* @implements {cljs.core.IAssociative}
* @implements {cljs.core.ILookup}
* @implements {cljs.core.IReduce}
*/
cljs.core.BlackNode = (function (key,val,left,right,__hash){
this.key = key;
this.val = val;
this.left = left;
this.right = right;
this.__hash = __hash;
this.cljs$lang$protocol_mask$partition0$ = 32402207;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
cljs.core.BlackNode.prototype.cljs$core$IFind$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.BlackNode.prototype.cljs$core$IFind$_find$arity$2 = (function (node,k){
var self__ = this;
var node__$1 = this;
var G__13550 = k;
switch (G__13550) {
case (0):
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),self__.key], null);
break;
case (1):
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),self__.val], null);
break;
default:
return null;
}
});
cljs.core.BlackNode.prototype.lastIndexOf = (function() {
var G__13552 = null;
var G__13552__1 = (function (x){
var self__ = this;
var coll = this;
return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));
});
var G__13552__2 = (function (x,start){
var self__ = this;
var coll = this;
return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);
});
G__13552 = function(x,start){
switch(arguments.length){
case 1:
return G__13552__1.call(this,x);
case 2:
return G__13552__2.call(this,x,start);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13552.cljs$core$IFn$_invoke$arity$1 = G__13552__1;
G__13552.cljs$core$IFn$_invoke$arity$2 = G__13552__2;
return G__13552;
})()
;
cljs.core.BlackNode.prototype.indexOf = (function() {
var G__13553 = null;
var G__13553__1 = (function (x){
var self__ = this;
var coll = this;
return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));
});
var G__13553__2 = (function (x,start){
var self__ = this;
var coll = this;
return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);
});
G__13553 = function(x,start){
switch(arguments.length){
case 1:
return G__13553__1.call(this,x);
case 2:
return G__13553__2.call(this,x,start);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13553.cljs$core$IFn$_invoke$arity$1 = G__13553__1;
G__13553.cljs$core$IFn$_invoke$arity$2 = G__13553__2;
return G__13553;
})()
;
cljs.core.BlackNode.prototype.add_right = (function (ins){
var self__ = this;
var node = this;
return ins.balance_right(node);
});
cljs.core.BlackNode.prototype.redden = (function (){
var self__ = this;
var node = this;
return (new cljs.core.RedNode(self__.key,self__.val,self__.left,self__.right,null));
});
cljs.core.BlackNode.prototype.blacken = (function (){
var self__ = this;
var node = this;
return node;
});
cljs.core.BlackNode.prototype.add_left = (function (ins){
var self__ = this;
var node = this;
return ins.balance_left(node);
});
cljs.core.BlackNode.prototype.replace = (function (key__$1,val__$1,left__$1,right__$1){
var self__ = this;
var node = this;
return (new cljs.core.BlackNode(key__$1,val__$1,left__$1,right__$1,null));
});
cljs.core.BlackNode.prototype.balance_left = (function (parent){
var self__ = this;
var node = this;
return (new cljs.core.BlackNode(parent.key,parent.val,node,parent.right,null));
});
cljs.core.BlackNode.prototype.balance_right = (function (parent){
var self__ = this;
var node = this;
return (new cljs.core.BlackNode(parent.key,parent.val,parent.left,node,null));
});
cljs.core.BlackNode.prototype.remove_left = (function (del){
var self__ = this;
var node = this;
return cljs.core.balance_left_del(self__.key,self__.val,del,self__.right);
});
cljs.core.BlackNode.prototype.kv_reduce = (function (f,init){
var self__ = this;
var node = this;
return cljs.core.tree_map_kv_reduce(node,f,init);
});
cljs.core.BlackNode.prototype.remove_right = (function (del){
var self__ = this;
var node = this;
return cljs.core.balance_right_del(self__.key,self__.val,self__.left,del);
});
cljs.core.BlackNode.prototype.cljs$core$ILookup$_lookup$arity$2 = (function (node,k){
var self__ = this;
var node__$1 = this;
return node__$1.cljs$core$IIndexed$_nth$arity$3(null,k,null);
});
cljs.core.BlackNode.prototype.cljs$core$ILookup$_lookup$arity$3 = (function (node,k,not_found){
var self__ = this;
var node__$1 = this;
return node__$1.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);
});
cljs.core.BlackNode.prototype.cljs$core$IIndexed$_nth$arity$2 = (function (node,n){
var self__ = this;
var node__$1 = this;
if((n === (0))){
return self__.key;
} else {
if((n === (1))){
return self__.val;
} else {
throw (new Error("Index out of bounds"));
}
}
});
cljs.core.BlackNode.prototype.cljs$core$IIndexed$_nth$arity$3 = (function (node,n,not_found){
var self__ = this;
var node__$1 = this;
if((n === (0))){
return self__.key;
} else {
if((n === (1))){
return self__.val;
} else {
return not_found;
}
}
});
cljs.core.BlackNode.prototype.cljs$core$IVector$_assoc_n$arity$3 = (function (node,n,v){
var self__ = this;
var node__$1 = this;
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val], null).cljs$core$IVector$_assoc_n$arity$3(null,n,v);
});
cljs.core.BlackNode.prototype.cljs$core$IMeta$_meta$arity$1 = (function (node){
var self__ = this;
var node__$1 = this;
return null;
});
cljs.core.BlackNode.prototype.cljs$core$ICounted$_count$arity$1 = (function (node){
var self__ = this;
var node__$1 = this;
return (2);
});
cljs.core.BlackNode.prototype.cljs$core$IMapEntry$_key$arity$1 = (function (node){
var self__ = this;
var node__$1 = this;
return self__.key;
});
cljs.core.BlackNode.prototype.cljs$core$IMapEntry$_val$arity$1 = (function (node){
var self__ = this;
var node__$1 = this;
return self__.val;
});
cljs.core.BlackNode.prototype.cljs$core$IStack$_peek$arity$1 = (function (node){
var self__ = this;
var node__$1 = this;
return self__.val;
});
cljs.core.BlackNode.prototype.cljs$core$IStack$_pop$arity$1 = (function (node){
var self__ = this;
var node__$1 = this;
return new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key], null);
});
cljs.core.BlackNode.prototype.cljs$core$IHash$_hash$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
var h__9238__auto__ = self__.__hash;
if(!((h__9238__auto__ == null))){
return h__9238__auto__;
} else {
var h__9238__auto____$1 = cljs.core.hash_ordered_coll(coll__$1);
self__.__hash = h__9238__auto____$1;
return h__9238__auto____$1;
}
});
cljs.core.BlackNode.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (coll,other){
var self__ = this;
var coll__$1 = this;
return cljs.core.equiv_sequential(coll__$1,other);
});
cljs.core.BlackNode.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = (function (node){
var self__ = this;
var node__$1 = this;
return cljs.core.PersistentVector.EMPTY;
});
cljs.core.BlackNode.prototype.cljs$core$IReduce$_reduce$arity$2 = (function (node,f){
var self__ = this;
var node__$1 = this;
return cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2(node__$1,f);
});
cljs.core.BlackNode.prototype.cljs$core$IReduce$_reduce$arity$3 = (function (node,f,start){
var self__ = this;
var node__$1 = this;
return cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3(node__$1,f,start);
});
cljs.core.BlackNode.prototype.cljs$core$IAssociative$_assoc$arity$3 = (function (node,k,v){
var self__ = this;
var node__$1 = this;
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val], null),k,v);
});
cljs.core.BlackNode.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 = (function (node,k){
var self__ = this;
var node__$1 = this;
return ((k === (0))) || ((k === (1)));
});
cljs.core.BlackNode.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (node){
var self__ = this;
var node__$1 = this;
var x__9736__auto__ = self__.key;
return cljs.core._conj((function (){var x__9736__auto____$1 = self__.val;
return cljs.core._conj(cljs.core.List.EMPTY,x__9736__auto____$1);
})(),x__9736__auto__);
});
cljs.core.BlackNode.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (node,meta){
var self__ = this;
var node__$1 = this;
return cljs.core._with_meta(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val], null),meta);
});
cljs.core.BlackNode.prototype.cljs$core$ICollection$_conj$arity$2 = (function (node,o){
var self__ = this;
var node__$1 = this;
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val,o], null);
});
cljs.core.BlackNode.prototype.call = (function() {
var G__13554 = null;
var G__13554__2 = (function (self__,k){
var self__ = this;
var self____$1 = this;
var node = self____$1;
return node.cljs$core$IIndexed$_nth$arity$2(null,k);
});
var G__13554__3 = (function (self__,k,not_found){
var self__ = this;
var self____$1 = this;
var node = self____$1;
return node.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);
});
G__13554 = function(self__,k,not_found){
switch(arguments.length){
case 2:
return G__13554__2.call(this,self__,k);
case 3:
return G__13554__3.call(this,self__,k,not_found);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13554.cljs$core$IFn$_invoke$arity$2 = G__13554__2;
G__13554.cljs$core$IFn$_invoke$arity$3 = G__13554__3;
return G__13554;
})()
;
cljs.core.BlackNode.prototype.apply = (function (self__,args13549){
var self__ = this;
var self____$1 = this;
return self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args13549)));
});
cljs.core.BlackNode.prototype.cljs$core$IFn$_invoke$arity$1 = (function (k){
var self__ = this;
var node = this;
return node.cljs$core$IIndexed$_nth$arity$2(null,k);
});
cljs.core.BlackNode.prototype.cljs$core$IFn$_invoke$arity$2 = (function (k,not_found){
var self__ = this;
var node = this;
return node.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);
});
cljs.core.BlackNode.getBasis = (function (){
return new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$key,cljs.core.cst$sym$val,cljs.core.cst$sym$left,cljs.core.cst$sym$right,cljs.core.with_meta(cljs.core.cst$sym$__hash,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null))], null);
});
cljs.core.BlackNode.cljs$lang$type = true;
cljs.core.BlackNode.cljs$lang$ctorStr = "cljs.core/BlackNode";
cljs.core.BlackNode.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/BlackNode");
});
cljs.core.__GT_BlackNode = (function cljs$core$__GT_BlackNode(key,val,left,right,__hash){
return (new cljs.core.BlackNode(key,val,left,right,__hash));
});
var G__13555_13558 = cljs.core.BlackNode.prototype;
var G__13556_13559 = cljs.core.ITER_SYMBOL;
var G__13557_13560 = ((function (G__13555_13558,G__13556_13559){
return (function (){
var this__9929__auto__ = this;
return cljs.core.es6_iterator(this__9929__auto__);
});})(G__13555_13558,G__13556_13559))
;
goog.object.set(G__13555_13558,G__13556_13559,G__13557_13560);
/**
* @constructor
* @implements {cljs.core.IIndexed}
* @implements {cljs.core.IVector}
* @implements {cljs.core.IEquiv}
* @implements {cljs.core.IHash}
* @implements {cljs.core.IFn}
* @implements {cljs.core.ICollection}
* @implements {cljs.core.IFind}
* @implements {cljs.core.IEmptyableCollection}
* @implements {cljs.core.ICounted}
* @implements {cljs.core.ISeqable}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.IStack}
* @implements {cljs.core.IMapEntry}
* @implements {cljs.core.ISequential}
* @implements {cljs.core.IWithMeta}
* @implements {cljs.core.IAssociative}
* @implements {cljs.core.ILookup}
* @implements {cljs.core.IReduce}
*/
cljs.core.RedNode = (function (key,val,left,right,__hash){
this.key = key;
this.val = val;
this.left = left;
this.right = right;
this.__hash = __hash;
this.cljs$lang$protocol_mask$partition0$ = 32402207;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
cljs.core.RedNode.prototype.cljs$core$IFind$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.RedNode.prototype.cljs$core$IFind$_find$arity$2 = (function (node,k){
var self__ = this;
var node__$1 = this;
var G__13562 = k;
switch (G__13562) {
case (0):
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(0),self__.key], null);
break;
case (1):
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(1),self__.val], null);
break;
default:
return null;
}
});
cljs.core.RedNode.prototype.lastIndexOf = (function() {
var G__13564 = null;
var G__13564__1 = (function (x){
var self__ = this;
var coll = this;
return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));
});
var G__13564__2 = (function (x,start){
var self__ = this;
var coll = this;
return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);
});
G__13564 = function(x,start){
switch(arguments.length){
case 1:
return G__13564__1.call(this,x);
case 2:
return G__13564__2.call(this,x,start);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13564.cljs$core$IFn$_invoke$arity$1 = G__13564__1;
G__13564.cljs$core$IFn$_invoke$arity$2 = G__13564__2;
return G__13564;
})()
;
cljs.core.RedNode.prototype.indexOf = (function() {
var G__13565 = null;
var G__13565__1 = (function (x){
var self__ = this;
var coll = this;
return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));
});
var G__13565__2 = (function (x,start){
var self__ = this;
var coll = this;
return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);
});
G__13565 = function(x,start){
switch(arguments.length){
case 1:
return G__13565__1.call(this,x);
case 2:
return G__13565__2.call(this,x,start);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13565.cljs$core$IFn$_invoke$arity$1 = G__13565__1;
G__13565.cljs$core$IFn$_invoke$arity$2 = G__13565__2;
return G__13565;
})()
;
cljs.core.RedNode.prototype.add_right = (function (ins){
var self__ = this;
var node = this;
return (new cljs.core.RedNode(self__.key,self__.val,self__.left,ins,null));
});
cljs.core.RedNode.prototype.redden = (function (){
var self__ = this;
var node = this;
throw (new Error("red-black tree invariant violation"));
});
cljs.core.RedNode.prototype.blacken = (function (){
var self__ = this;
var node = this;
return (new cljs.core.BlackNode(self__.key,self__.val,self__.left,self__.right,null));
});
cljs.core.RedNode.prototype.add_left = (function (ins){
var self__ = this;
var node = this;
return (new cljs.core.RedNode(self__.key,self__.val,ins,self__.right,null));
});
cljs.core.RedNode.prototype.replace = (function (key__$1,val__$1,left__$1,right__$1){
var self__ = this;
var node = this;
return (new cljs.core.RedNode(key__$1,val__$1,left__$1,right__$1,null));
});
cljs.core.RedNode.prototype.balance_left = (function (parent){
var self__ = this;
var node = this;
if((self__.left instanceof cljs.core.RedNode)){
return (new cljs.core.RedNode(self__.key,self__.val,self__.left.blacken(),(new cljs.core.BlackNode(parent.key,parent.val,self__.right,parent.right,null)),null));
} else {
if((self__.right instanceof cljs.core.RedNode)){
return (new cljs.core.RedNode(self__.right.key,self__.right.val,(new cljs.core.BlackNode(self__.key,self__.val,self__.left,self__.right.left,null)),(new cljs.core.BlackNode(parent.key,parent.val,self__.right.right,parent.right,null)),null));
} else {
return (new cljs.core.BlackNode(parent.key,parent.val,node,parent.right,null));
}
}
});
cljs.core.RedNode.prototype.balance_right = (function (parent){
var self__ = this;
var node = this;
if((self__.right instanceof cljs.core.RedNode)){
return (new cljs.core.RedNode(self__.key,self__.val,(new cljs.core.BlackNode(parent.key,parent.val,parent.left,self__.left,null)),self__.right.blacken(),null));
} else {
if((self__.left instanceof cljs.core.RedNode)){
return (new cljs.core.RedNode(self__.left.key,self__.left.val,(new cljs.core.BlackNode(parent.key,parent.val,parent.left,self__.left.left,null)),(new cljs.core.BlackNode(self__.key,self__.val,self__.left.right,self__.right,null)),null));
} else {
return (new cljs.core.BlackNode(parent.key,parent.val,parent.left,node,null));
}
}
});
cljs.core.RedNode.prototype.remove_left = (function (del){
var self__ = this;
var node = this;
return (new cljs.core.RedNode(self__.key,self__.val,del,self__.right,null));
});
cljs.core.RedNode.prototype.kv_reduce = (function (f,init){
var self__ = this;
var node = this;
return cljs.core.tree_map_kv_reduce(node,f,init);
});
cljs.core.RedNode.prototype.remove_right = (function (del){
var self__ = this;
var node = this;
return (new cljs.core.RedNode(self__.key,self__.val,self__.left,del,null));
});
cljs.core.RedNode.prototype.cljs$core$ILookup$_lookup$arity$2 = (function (node,k){
var self__ = this;
var node__$1 = this;
return node__$1.cljs$core$IIndexed$_nth$arity$3(null,k,null);
});
cljs.core.RedNode.prototype.cljs$core$ILookup$_lookup$arity$3 = (function (node,k,not_found){
var self__ = this;
var node__$1 = this;
return node__$1.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);
});
cljs.core.RedNode.prototype.cljs$core$IIndexed$_nth$arity$2 = (function (node,n){
var self__ = this;
var node__$1 = this;
if((n === (0))){
return self__.key;
} else {
if((n === (1))){
return self__.val;
} else {
throw (new Error("Index out of bounds"));
}
}
});
cljs.core.RedNode.prototype.cljs$core$IIndexed$_nth$arity$3 = (function (node,n,not_found){
var self__ = this;
var node__$1 = this;
if((n === (0))){
return self__.key;
} else {
if((n === (1))){
return self__.val;
} else {
return not_found;
}
}
});
cljs.core.RedNode.prototype.cljs$core$IVector$_assoc_n$arity$3 = (function (node,n,v){
var self__ = this;
var node__$1 = this;
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val], null).cljs$core$IVector$_assoc_n$arity$3(null,n,v);
});
cljs.core.RedNode.prototype.cljs$core$IMeta$_meta$arity$1 = (function (node){
var self__ = this;
var node__$1 = this;
return null;
});
cljs.core.RedNode.prototype.cljs$core$ICounted$_count$arity$1 = (function (node){
var self__ = this;
var node__$1 = this;
return (2);
});
cljs.core.RedNode.prototype.cljs$core$IMapEntry$_key$arity$1 = (function (node){
var self__ = this;
var node__$1 = this;
return self__.key;
});
cljs.core.RedNode.prototype.cljs$core$IMapEntry$_val$arity$1 = (function (node){
var self__ = this;
var node__$1 = this;
return self__.val;
});
cljs.core.RedNode.prototype.cljs$core$IStack$_peek$arity$1 = (function (node){
var self__ = this;
var node__$1 = this;
return self__.val;
});
cljs.core.RedNode.prototype.cljs$core$IStack$_pop$arity$1 = (function (node){
var self__ = this;
var node__$1 = this;
return new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key], null);
});
cljs.core.RedNode.prototype.cljs$core$IHash$_hash$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
var h__9238__auto__ = self__.__hash;
if(!((h__9238__auto__ == null))){
return h__9238__auto__;
} else {
var h__9238__auto____$1 = cljs.core.hash_ordered_coll(coll__$1);
self__.__hash = h__9238__auto____$1;
return h__9238__auto____$1;
}
});
cljs.core.RedNode.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (coll,other){
var self__ = this;
var coll__$1 = this;
return cljs.core.equiv_sequential(coll__$1,other);
});
cljs.core.RedNode.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = (function (node){
var self__ = this;
var node__$1 = this;
return cljs.core.PersistentVector.EMPTY;
});
cljs.core.RedNode.prototype.cljs$core$IReduce$_reduce$arity$2 = (function (node,f){
var self__ = this;
var node__$1 = this;
return cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2(node__$1,f);
});
cljs.core.RedNode.prototype.cljs$core$IReduce$_reduce$arity$3 = (function (node,f,start){
var self__ = this;
var node__$1 = this;
return cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$3(node__$1,f,start);
});
cljs.core.RedNode.prototype.cljs$core$IAssociative$_assoc$arity$3 = (function (node,k,v){
var self__ = this;
var node__$1 = this;
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val], null),k,v);
});
cljs.core.RedNode.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 = (function (node,k){
var self__ = this;
var node__$1 = this;
return ((k === (0))) || ((k === (1)));
});
cljs.core.RedNode.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (node){
var self__ = this;
var node__$1 = this;
var x__9736__auto__ = self__.key;
return cljs.core._conj((function (){var x__9736__auto____$1 = self__.val;
return cljs.core._conj(cljs.core.List.EMPTY,x__9736__auto____$1);
})(),x__9736__auto__);
});
cljs.core.RedNode.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (node,meta){
var self__ = this;
var node__$1 = this;
return cljs.core._with_meta(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val], null),meta);
});
cljs.core.RedNode.prototype.cljs$core$ICollection$_conj$arity$2 = (function (node,o){
var self__ = this;
var node__$1 = this;
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [self__.key,self__.val,o], null);
});
cljs.core.RedNode.prototype.call = (function() {
var G__13566 = null;
var G__13566__2 = (function (self__,k){
var self__ = this;
var self____$1 = this;
var node = self____$1;
return node.cljs$core$IIndexed$_nth$arity$2(null,k);
});
var G__13566__3 = (function (self__,k,not_found){
var self__ = this;
var self____$1 = this;
var node = self____$1;
return node.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);
});
G__13566 = function(self__,k,not_found){
switch(arguments.length){
case 2:
return G__13566__2.call(this,self__,k);
case 3:
return G__13566__3.call(this,self__,k,not_found);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13566.cljs$core$IFn$_invoke$arity$2 = G__13566__2;
G__13566.cljs$core$IFn$_invoke$arity$3 = G__13566__3;
return G__13566;
})()
;
cljs.core.RedNode.prototype.apply = (function (self__,args13561){
var self__ = this;
var self____$1 = this;
return self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args13561)));
});
cljs.core.RedNode.prototype.cljs$core$IFn$_invoke$arity$1 = (function (k){
var self__ = this;
var node = this;
return node.cljs$core$IIndexed$_nth$arity$2(null,k);
});
cljs.core.RedNode.prototype.cljs$core$IFn$_invoke$arity$2 = (function (k,not_found){
var self__ = this;
var node = this;
return node.cljs$core$IIndexed$_nth$arity$3(null,k,not_found);
});
cljs.core.RedNode.getBasis = (function (){
return new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$key,cljs.core.cst$sym$val,cljs.core.cst$sym$left,cljs.core.cst$sym$right,cljs.core.with_meta(cljs.core.cst$sym$__hash,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null))], null);
});
cljs.core.RedNode.cljs$lang$type = true;
cljs.core.RedNode.cljs$lang$ctorStr = "cljs.core/RedNode";
cljs.core.RedNode.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/RedNode");
});
cljs.core.__GT_RedNode = (function cljs$core$__GT_RedNode(key,val,left,right,__hash){
return (new cljs.core.RedNode(key,val,left,right,__hash));
});
var G__13567_13570 = cljs.core.RedNode.prototype;
var G__13568_13571 = cljs.core.ITER_SYMBOL;
var G__13569_13572 = ((function (G__13567_13570,G__13568_13571){
return (function (){
var this__9929__auto__ = this;
return cljs.core.es6_iterator(this__9929__auto__);
});})(G__13567_13570,G__13568_13571))
;
goog.object.set(G__13567_13570,G__13568_13571,G__13569_13572);
cljs.core.tree_map_add = (function cljs$core$tree_map_add(comp,tree,k,v,found){
if((tree == null)){
return (new cljs.core.RedNode(k,v,null,null,null));
} else {
var c = (function (){var G__13573 = k;
var G__13574 = tree.key;
return (comp.cljs$core$IFn$_invoke$arity$2 ? comp.cljs$core$IFn$_invoke$arity$2(G__13573,G__13574) : comp.call(null,G__13573,G__13574));
})();
if((c === (0))){
(found[(0)] = tree);
return null;
} else {
if((c < (0))){
var ins = (function (){var G__13575 = comp;
var G__13576 = tree.left;
var G__13577 = k;
var G__13578 = v;
var G__13579 = found;
return (cljs.core.tree_map_add.cljs$core$IFn$_invoke$arity$5 ? cljs.core.tree_map_add.cljs$core$IFn$_invoke$arity$5(G__13575,G__13576,G__13577,G__13578,G__13579) : cljs.core.tree_map_add.call(null,G__13575,G__13576,G__13577,G__13578,G__13579));
})();
if(!((ins == null))){
return tree.add_left(ins);
} else {
return null;
}
} else {
var ins = (function (){var G__13580 = comp;
var G__13581 = tree.right;
var G__13582 = k;
var G__13583 = v;
var G__13584 = found;
return (cljs.core.tree_map_add.cljs$core$IFn$_invoke$arity$5 ? cljs.core.tree_map_add.cljs$core$IFn$_invoke$arity$5(G__13580,G__13581,G__13582,G__13583,G__13584) : cljs.core.tree_map_add.call(null,G__13580,G__13581,G__13582,G__13583,G__13584));
})();
if(!((ins == null))){
return tree.add_right(ins);
} else {
return null;
}
}
}
}
});
cljs.core.tree_map_append = (function cljs$core$tree_map_append(left,right){
if((left == null)){
return right;
} else {
if((right == null)){
return left;
} else {
if((left instanceof cljs.core.RedNode)){
if((right instanceof cljs.core.RedNode)){
var app = (function (){var G__13585 = left.right;
var G__13586 = right.left;
return (cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2 ? cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2(G__13585,G__13586) : cljs.core.tree_map_append.call(null,G__13585,G__13586));
})();
if((app instanceof cljs.core.RedNode)){
return (new cljs.core.RedNode(app.key,app.val,(new cljs.core.RedNode(left.key,left.val,left.left,app.left,null)),(new cljs.core.RedNode(right.key,right.val,app.right,right.right,null)),null));
} else {
return (new cljs.core.RedNode(left.key,left.val,left.left,(new cljs.core.RedNode(right.key,right.val,app,right.right,null)),null));
}
} else {
return (new cljs.core.RedNode(left.key,left.val,left.left,(function (){var G__13587 = left.right;
var G__13588 = right;
return (cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2 ? cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2(G__13587,G__13588) : cljs.core.tree_map_append.call(null,G__13587,G__13588));
})(),null));
}
} else {
if((right instanceof cljs.core.RedNode)){
return (new cljs.core.RedNode(right.key,right.val,(function (){var G__13589 = left;
var G__13590 = right.left;
return (cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2 ? cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2(G__13589,G__13590) : cljs.core.tree_map_append.call(null,G__13589,G__13590));
})(),right.right,null));
} else {
var app = (function (){var G__13591 = left.right;
var G__13592 = right.left;
return (cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2 ? cljs.core.tree_map_append.cljs$core$IFn$_invoke$arity$2(G__13591,G__13592) : cljs.core.tree_map_append.call(null,G__13591,G__13592));
})();
if((app instanceof cljs.core.RedNode)){
return (new cljs.core.RedNode(app.key,app.val,(new cljs.core.BlackNode(left.key,left.val,left.left,app.left,null)),(new cljs.core.BlackNode(right.key,right.val,app.right,right.right,null)),null));
} else {
return cljs.core.balance_left_del(left.key,left.val,left.left,(new cljs.core.BlackNode(right.key,right.val,app,right.right,null)));
}
}
}
}
}
});
cljs.core.tree_map_remove = (function cljs$core$tree_map_remove(comp,tree,k,found){
if(!((tree == null))){
var c = (function (){var G__13593 = k;
var G__13594 = tree.key;
return (comp.cljs$core$IFn$_invoke$arity$2 ? comp.cljs$core$IFn$_invoke$arity$2(G__13593,G__13594) : comp.call(null,G__13593,G__13594));
})();
if((c === (0))){
(found[(0)] = tree);
return cljs.core.tree_map_append(tree.left,tree.right);
} else {
if((c < (0))){
var del = (function (){var G__13595 = comp;
var G__13596 = tree.left;
var G__13597 = k;
var G__13598 = found;
return (cljs.core.tree_map_remove.cljs$core$IFn$_invoke$arity$4 ? cljs.core.tree_map_remove.cljs$core$IFn$_invoke$arity$4(G__13595,G__13596,G__13597,G__13598) : cljs.core.tree_map_remove.call(null,G__13595,G__13596,G__13597,G__13598));
})();
if((!((del == null))) || (!(((found[(0)]) == null)))){
if((tree.left instanceof cljs.core.BlackNode)){
return cljs.core.balance_left_del(tree.key,tree.val,del,tree.right);
} else {
return (new cljs.core.RedNode(tree.key,tree.val,del,tree.right,null));
}
} else {
return null;
}
} else {
var del = (function (){var G__13599 = comp;
var G__13600 = tree.right;
var G__13601 = k;
var G__13602 = found;
return (cljs.core.tree_map_remove.cljs$core$IFn$_invoke$arity$4 ? cljs.core.tree_map_remove.cljs$core$IFn$_invoke$arity$4(G__13599,G__13600,G__13601,G__13602) : cljs.core.tree_map_remove.call(null,G__13599,G__13600,G__13601,G__13602));
})();
if((!((del == null))) || (!(((found[(0)]) == null)))){
if((tree.right instanceof cljs.core.BlackNode)){
return cljs.core.balance_right_del(tree.key,tree.val,tree.left,del);
} else {
return (new cljs.core.RedNode(tree.key,tree.val,tree.left,del,null));
}
} else {
return null;
}
}
}
} else {
return null;
}
});
cljs.core.tree_map_replace = (function cljs$core$tree_map_replace(comp,tree,k,v){
var tk = tree.key;
var c = (comp.cljs$core$IFn$_invoke$arity$2 ? comp.cljs$core$IFn$_invoke$arity$2(k,tk) : comp.call(null,k,tk));
if((c === (0))){
return tree.replace(tk,v,tree.left,tree.right);
} else {
if((c < (0))){
return tree.replace(tk,tree.val,(function (){var G__13603 = comp;
var G__13604 = tree.left;
var G__13605 = k;
var G__13606 = v;
return (cljs.core.tree_map_replace.cljs$core$IFn$_invoke$arity$4 ? cljs.core.tree_map_replace.cljs$core$IFn$_invoke$arity$4(G__13603,G__13604,G__13605,G__13606) : cljs.core.tree_map_replace.call(null,G__13603,G__13604,G__13605,G__13606));
})(),tree.right);
} else {
return tree.replace(tk,tree.val,tree.left,(function (){var G__13607 = comp;
var G__13608 = tree.right;
var G__13609 = k;
var G__13610 = v;
return (cljs.core.tree_map_replace.cljs$core$IFn$_invoke$arity$4 ? cljs.core.tree_map_replace.cljs$core$IFn$_invoke$arity$4(G__13607,G__13608,G__13609,G__13610) : cljs.core.tree_map_replace.call(null,G__13607,G__13608,G__13609,G__13610));
})());
}
}
});
/**
* @constructor
* @implements {cljs.core.IReversible}
* @implements {cljs.core.IKVReduce}
* @implements {cljs.core.IEquiv}
* @implements {cljs.core.IHash}
* @implements {cljs.core.IFn}
* @implements {cljs.core.ICollection}
* @implements {cljs.core.IFind}
* @implements {cljs.core.IEmptyableCollection}
* @implements {cljs.core.ICounted}
* @implements {cljs.core.ISorted}
* @implements {cljs.core.ISeqable}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.ICloneable}
* @implements {cljs.core.IWithMeta}
* @implements {cljs.core.IAssociative}
* @implements {cljs.core.IMap}
* @implements {cljs.core.ILookup}
*/
cljs.core.PersistentTreeMap = (function (comp,tree,cnt,meta,__hash){
this.comp = comp;
this.tree = tree;
this.cnt = cnt;
this.meta = meta;
this.__hash = __hash;
this.cljs$lang$protocol_mask$partition0$ = 418776847;
this.cljs$lang$protocol_mask$partition1$ = 8192;
});
cljs.core.PersistentTreeMap.prototype.cljs$core$IFind$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentTreeMap.prototype.cljs$core$IFind$_find$arity$2 = (function (coll,k){
var self__ = this;
var coll__$1 = this;
return coll__$1.entry_at(k);
});
cljs.core.PersistentTreeMap.prototype.forEach = (function (f){
var self__ = this;
var coll = this;
var seq__13612 = cljs.core.seq(coll);
var chunk__13613 = null;
var count__13614 = (0);
var i__13615 = (0);
while(true){
if((i__13615 < count__13614)){
var vec__13616 = chunk__13613.cljs$core$IIndexed$_nth$arity$2(null,i__13615);
var k = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__13616,(0),null);
var v = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__13616,(1),null);
(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));
var G__13626 = seq__13612;
var G__13627 = chunk__13613;
var G__13628 = count__13614;
var G__13629 = (i__13615 + (1));
seq__13612 = G__13626;
chunk__13613 = G__13627;
count__13614 = G__13628;
i__13615 = G__13629;
continue;
} else {
var temp__5457__auto__ = cljs.core.seq(seq__13612);
if(temp__5457__auto__){
var seq__13612__$1 = temp__5457__auto__;
if(cljs.core.chunked_seq_QMARK_(seq__13612__$1)){
var c__9713__auto__ = cljs.core.chunk_first(seq__13612__$1);
var G__13630 = cljs.core.chunk_rest(seq__13612__$1);
var G__13631 = c__9713__auto__;
var G__13632 = cljs.core.count(c__9713__auto__);
var G__13633 = (0);
seq__13612 = G__13630;
chunk__13613 = G__13631;
count__13614 = G__13632;
i__13615 = G__13633;
continue;
} else {
var vec__13619 = cljs.core.first(seq__13612__$1);
var k = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__13619,(0),null);
var v = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__13619,(1),null);
(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));
var G__13634 = cljs.core.next(seq__13612__$1);
var G__13635 = null;
var G__13636 = (0);
var G__13637 = (0);
seq__13612 = G__13634;
chunk__13613 = G__13635;
count__13614 = G__13636;
i__13615 = G__13637;
continue;
}
} else {
return null;
}
}
break;
}
});
cljs.core.PersistentTreeMap.prototype.get = (function (k,not_found){
var self__ = this;
var coll = this;
return coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);
});
cljs.core.PersistentTreeMap.prototype.entries = (function (){
var self__ = this;
var coll = this;
return cljs.core.es6_entries_iterator(cljs.core.seq(coll));
});
cljs.core.PersistentTreeMap.prototype.toString = (function (){
var self__ = this;
var coll = this;
return cljs.core.pr_str_STAR_(coll);
});
cljs.core.PersistentTreeMap.prototype.keys = (function (){
var self__ = this;
var coll = this;
return cljs.core.es6_iterator(cljs.core.keys(coll));
});
cljs.core.PersistentTreeMap.prototype.values = (function (){
var self__ = this;
var coll = this;
return cljs.core.es6_iterator(cljs.core.vals(coll));
});
cljs.core.PersistentTreeMap.prototype.equiv = (function (other){
var self__ = this;
var this$ = this;
return this$.cljs$core$IEquiv$_equiv$arity$2(null,other);
});
cljs.core.PersistentTreeMap.prototype.entry_at = (function (k){
var self__ = this;
var coll = this;
var t = self__.tree;
while(true){
if(!((t == null))){
var c = (function (){var G__13622 = k;
var G__13623 = t.key;
return (self__.comp.cljs$core$IFn$_invoke$arity$2 ? self__.comp.cljs$core$IFn$_invoke$arity$2(G__13622,G__13623) : self__.comp.call(null,G__13622,G__13623));
})();
if((c === (0))){
return t;
} else {
if((c < (0))){
var G__13638 = t.left;
t = G__13638;
continue;
} else {
var G__13639 = t.right;
t = G__13639;
continue;
}
}
} else {
return null;
}
break;
}
});
cljs.core.PersistentTreeMap.prototype.has = (function (k){
var self__ = this;
var coll = this;
return cljs.core.contains_QMARK_(coll,k);
});
cljs.core.PersistentTreeMap.prototype.cljs$core$ILookup$_lookup$arity$2 = (function (coll,k){
var self__ = this;
var coll__$1 = this;
return coll__$1.cljs$core$ILookup$_lookup$arity$3(null,k,null);
});
cljs.core.PersistentTreeMap.prototype.cljs$core$ILookup$_lookup$arity$3 = (function (coll,k,not_found){
var self__ = this;
var coll__$1 = this;
var n = coll__$1.entry_at(k);
if(!((n == null))){
return n.val;
} else {
return not_found;
}
});
cljs.core.PersistentTreeMap.prototype.cljs$core$IKVReduce$_kv_reduce$arity$3 = (function (coll,f,init){
var self__ = this;
var coll__$1 = this;
if(!((self__.tree == null))){
return cljs.core.unreduced(cljs.core.tree_map_kv_reduce(self__.tree,f,init));
} else {
return init;
}
});
cljs.core.PersistentTreeMap.prototype.cljs$core$IMeta$_meta$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return self__.meta;
});
cljs.core.PersistentTreeMap.prototype.cljs$core$ICloneable$_clone$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return (new cljs.core.PersistentTreeMap(self__.comp,self__.tree,self__.cnt,self__.meta,self__.__hash));
});
cljs.core.PersistentTreeMap.prototype.cljs$core$ICounted$_count$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return self__.cnt;
});
cljs.core.PersistentTreeMap.prototype.cljs$core$IReversible$_rseq$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
if((self__.cnt > (0))){
return cljs.core.create_tree_map_seq(self__.tree,false,self__.cnt);
} else {
return null;
}
});
cljs.core.PersistentTreeMap.prototype.cljs$core$IHash$_hash$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
var h__9238__auto__ = self__.__hash;
if(!((h__9238__auto__ == null))){
return h__9238__auto__;
} else {
var h__9238__auto____$1 = cljs.core.hash_unordered_coll(coll__$1);
self__.__hash = h__9238__auto____$1;
return h__9238__auto____$1;
}
});
cljs.core.PersistentTreeMap.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (coll,other){
var self__ = this;
var coll__$1 = this;
return cljs.core.equiv_map(coll__$1,other);
});
cljs.core.PersistentTreeMap.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return (new cljs.core.PersistentTreeMap(self__.comp,null,(0),self__.meta,(0)));
});
cljs.core.PersistentTreeMap.prototype.cljs$core$IMap$_dissoc$arity$2 = (function (coll,k){
var self__ = this;
var coll__$1 = this;
var found = [null];
var t = cljs.core.tree_map_remove(self__.comp,self__.tree,k,found);
if((t == null)){
if((cljs.core.nth.cljs$core$IFn$_invoke$arity$2(found,(0)) == null)){
return coll__$1;
} else {
return (new cljs.core.PersistentTreeMap(self__.comp,null,(0),self__.meta,null));
}
} else {
return (new cljs.core.PersistentTreeMap(self__.comp,t.blacken(),(self__.cnt - (1)),self__.meta,null));
}
});
cljs.core.PersistentTreeMap.prototype.cljs$core$IAssociative$_assoc$arity$3 = (function (coll,k,v){
var self__ = this;
var coll__$1 = this;
var found = [null];
var t = cljs.core.tree_map_add(self__.comp,self__.tree,k,v,found);
if((t == null)){
var found_node = cljs.core.nth.cljs$core$IFn$_invoke$arity$2(found,(0));
if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(v,found_node.val)){
return coll__$1;
} else {
return (new cljs.core.PersistentTreeMap(self__.comp,cljs.core.tree_map_replace(self__.comp,self__.tree,k,v),self__.cnt,self__.meta,null));
}
} else {
return (new cljs.core.PersistentTreeMap(self__.comp,t.blacken(),(self__.cnt + (1)),self__.meta,null));
}
});
cljs.core.PersistentTreeMap.prototype.cljs$core$IAssociative$_contains_key_QMARK_$arity$2 = (function (coll,k){
var self__ = this;
var coll__$1 = this;
return !((coll__$1.entry_at(k) == null));
});
cljs.core.PersistentTreeMap.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
if((self__.cnt > (0))){
return cljs.core.create_tree_map_seq(self__.tree,true,self__.cnt);
} else {
return null;
}
});
cljs.core.PersistentTreeMap.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (coll,meta__$1){
var self__ = this;
var coll__$1 = this;
return (new cljs.core.PersistentTreeMap(self__.comp,self__.tree,self__.cnt,meta__$1,self__.__hash));
});
cljs.core.PersistentTreeMap.prototype.cljs$core$ICollection$_conj$arity$2 = (function (coll,entry){
var self__ = this;
var coll__$1 = this;
if(cljs.core.vector_QMARK_(entry)){
return coll__$1.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.cljs$core$IFn$_invoke$arity$2(entry,(0)),cljs.core._nth.cljs$core$IFn$_invoke$arity$2(entry,(1)));
} else {
var ret = coll__$1;
var es = cljs.core.seq(entry);
while(true){
if((es == null)){
return ret;
} else {
var e = cljs.core.first(es);
if(cljs.core.vector_QMARK_(e)){
var G__13640 = ret.cljs$core$IAssociative$_assoc$arity$3(null,cljs.core._nth.cljs$core$IFn$_invoke$arity$2(e,(0)),cljs.core._nth.cljs$core$IFn$_invoke$arity$2(e,(1)));
var G__13641 = cljs.core.next(es);
ret = G__13640;
es = G__13641;
continue;
} else {
throw (new Error("conj on a map takes map entries or seqables of map entries"));
}
}
break;
}
}
});
cljs.core.PersistentTreeMap.prototype.call = (function() {
var G__13642 = null;
var G__13642__2 = (function (self__,k){
var self__ = this;
var self____$1 = this;
var coll = self____$1;
return coll.cljs$core$ILookup$_lookup$arity$2(null,k);
});
var G__13642__3 = (function (self__,k,not_found){
var self__ = this;
var self____$1 = this;
var coll = self____$1;
return coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);
});
G__13642 = function(self__,k,not_found){
switch(arguments.length){
case 2:
return G__13642__2.call(this,self__,k);
case 3:
return G__13642__3.call(this,self__,k,not_found);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13642.cljs$core$IFn$_invoke$arity$2 = G__13642__2;
G__13642.cljs$core$IFn$_invoke$arity$3 = G__13642__3;
return G__13642;
})()
;
cljs.core.PersistentTreeMap.prototype.apply = (function (self__,args13611){
var self__ = this;
var self____$1 = this;
return self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args13611)));
});
cljs.core.PersistentTreeMap.prototype.cljs$core$IFn$_invoke$arity$1 = (function (k){
var self__ = this;
var coll = this;
return coll.cljs$core$ILookup$_lookup$arity$2(null,k);
});
cljs.core.PersistentTreeMap.prototype.cljs$core$IFn$_invoke$arity$2 = (function (k,not_found){
var self__ = this;
var coll = this;
return coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);
});
cljs.core.PersistentTreeMap.prototype.cljs$core$ISorted$_sorted_seq$arity$2 = (function (coll,ascending_QMARK_){
var self__ = this;
var coll__$1 = this;
if((self__.cnt > (0))){
return cljs.core.create_tree_map_seq(self__.tree,ascending_QMARK_,self__.cnt);
} else {
return null;
}
});
cljs.core.PersistentTreeMap.prototype.cljs$core$ISorted$_sorted_seq_from$arity$3 = (function (coll,k,ascending_QMARK_){
var self__ = this;
var coll__$1 = this;
if((self__.cnt > (0))){
var stack = null;
var t = self__.tree;
while(true){
if(!((t == null))){
var c = (function (){var G__13624 = k;
var G__13625 = t.key;
return (self__.comp.cljs$core$IFn$_invoke$arity$2 ? self__.comp.cljs$core$IFn$_invoke$arity$2(G__13624,G__13625) : self__.comp.call(null,G__13624,G__13625));
})();
if((c === (0))){
return (new cljs.core.PersistentTreeMapSeq(null,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(stack,t),ascending_QMARK_,(-1),null));
} else {
if(cljs.core.truth_(ascending_QMARK_)){
if((c < (0))){
var G__13643 = cljs.core.conj.cljs$core$IFn$_invoke$arity$2(stack,t);
var G__13644 = t.left;
stack = G__13643;
t = G__13644;
continue;
} else {
var G__13645 = stack;
var G__13646 = t.right;
stack = G__13645;
t = G__13646;
continue;
}
} else {
if((c > (0))){
var G__13647 = cljs.core.conj.cljs$core$IFn$_invoke$arity$2(stack,t);
var G__13648 = t.right;
stack = G__13647;
t = G__13648;
continue;
} else {
var G__13649 = stack;
var G__13650 = t.left;
stack = G__13649;
t = G__13650;
continue;
}
}
}
} else {
if((stack == null)){
return null;
} else {
return (new cljs.core.PersistentTreeMapSeq(null,stack,ascending_QMARK_,(-1),null));
}
}
break;
}
} else {
return null;
}
});
cljs.core.PersistentTreeMap.prototype.cljs$core$ISorted$_entry_key$arity$2 = (function (coll,entry){
var self__ = this;
var coll__$1 = this;
return cljs.core.key(entry);
});
cljs.core.PersistentTreeMap.prototype.cljs$core$ISorted$_comparator$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return self__.comp;
});
cljs.core.PersistentTreeMap.getBasis = (function (){
return new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$comp,cljs.core.cst$sym$tree,cljs.core.cst$sym$cnt,cljs.core.cst$sym$meta,cljs.core.with_meta(cljs.core.cst$sym$__hash,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null))], null);
});
cljs.core.PersistentTreeMap.cljs$lang$type = true;
cljs.core.PersistentTreeMap.cljs$lang$ctorStr = "cljs.core/PersistentTreeMap";
cljs.core.PersistentTreeMap.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/PersistentTreeMap");
});
cljs.core.__GT_PersistentTreeMap = (function cljs$core$__GT_PersistentTreeMap(comp,tree,cnt,meta,__hash){
return (new cljs.core.PersistentTreeMap(comp,tree,cnt,meta,__hash));
});
cljs.core.PersistentTreeMap.EMPTY = (new cljs.core.PersistentTreeMap(cljs.core.compare,null,(0),null,cljs.core.empty_unordered_hash));
var G__13651_13654 = cljs.core.PersistentTreeMap.prototype;
var G__13652_13655 = cljs.core.ITER_SYMBOL;
var G__13653_13656 = ((function (G__13651_13654,G__13652_13655){
return (function (){
var this__9929__auto__ = this;
return cljs.core.es6_iterator(this__9929__auto__);
});})(G__13651_13654,G__13652_13655))
;
goog.object.set(G__13651_13654,G__13652_13655,G__13653_13656);
/**
* keyval => key val
* Returns a new hash map with supplied mappings.
*/
cljs.core.hash_map = (function cljs$core$hash_map(var_args){
var args__10068__auto__ = [];
var len__10061__auto___13658 = arguments.length;
var i__10062__auto___13659 = (0);
while(true){
if((i__10062__auto___13659 < len__10061__auto___13658)){
args__10068__auto__.push((arguments[i__10062__auto___13659]));
var G__13660 = (i__10062__auto___13659 + (1));
i__10062__auto___13659 = G__13660;
continue;
} else {
}
break;
}
var argseq__10069__auto__ = ((((0) < args__10068__auto__.length))?(new cljs.core.IndexedSeq(args__10068__auto__.slice((0)),(0),null)):null);
return cljs.core.hash_map.cljs$core$IFn$_invoke$arity$variadic(argseq__10069__auto__);
});
cljs.core.hash_map.cljs$core$IFn$_invoke$arity$variadic = (function (keyvals){
var in$ = cljs.core.seq(keyvals);
var out = cljs.core.transient$(cljs.core.PersistentHashMap.EMPTY);
while(true){
if(in$){
var G__13661 = cljs.core.nnext(in$);
var G__13662 = cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(out,cljs.core.first(in$),cljs.core.second(in$));
in$ = G__13661;
out = G__13662;
continue;
} else {
return cljs.core.persistent_BANG_(out);
}
break;
}
});
cljs.core.hash_map.cljs$lang$maxFixedArity = (0);
cljs.core.hash_map.cljs$lang$applyTo = (function (seq13657){
return cljs.core.hash_map.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq13657));
});
/**
* keyval => key val
* Returns a new array map with supplied mappings.
*/
cljs.core.array_map = (function cljs$core$array_map(var_args){
var args__10068__auto__ = [];
var len__10061__auto___13664 = arguments.length;
var i__10062__auto___13665 = (0);
while(true){
if((i__10062__auto___13665 < len__10061__auto___13664)){
args__10068__auto__.push((arguments[i__10062__auto___13665]));
var G__13666 = (i__10062__auto___13665 + (1));
i__10062__auto___13665 = G__13666;
continue;
} else {
}
break;
}
var argseq__10069__auto__ = ((((0) < args__10068__auto__.length))?(new cljs.core.IndexedSeq(args__10068__auto__.slice((0)),(0),null)):null);
return cljs.core.array_map.cljs$core$IFn$_invoke$arity$variadic(argseq__10069__auto__);
});
cljs.core.array_map.cljs$core$IFn$_invoke$arity$variadic = (function (keyvals){
var arr = ((((keyvals instanceof cljs.core.IndexedSeq)) && ((keyvals.i === (0))))?keyvals.arr:cljs.core.into_array.cljs$core$IFn$_invoke$arity$1(keyvals));
return cljs.core.PersistentArrayMap.createAsIfByAssoc(arr);
});
cljs.core.array_map.cljs$lang$maxFixedArity = (0);
cljs.core.array_map.cljs$lang$applyTo = (function (seq13663){
return cljs.core.array_map.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq13663));
});
/**
* keyval => key val
* Returns a new object map with supplied mappings.
*/
cljs.core.obj_map = (function cljs$core$obj_map(var_args){
var args__10068__auto__ = [];
var len__10061__auto___13673 = arguments.length;
var i__10062__auto___13674 = (0);
while(true){
if((i__10062__auto___13674 < len__10061__auto___13673)){
args__10068__auto__.push((arguments[i__10062__auto___13674]));
var G__13675 = (i__10062__auto___13674 + (1));
i__10062__auto___13674 = G__13675;
continue;
} else {
}
break;
}
var argseq__10069__auto__ = ((((0) < args__10068__auto__.length))?(new cljs.core.IndexedSeq(args__10068__auto__.slice((0)),(0),null)):null);
return cljs.core.obj_map.cljs$core$IFn$_invoke$arity$variadic(argseq__10069__auto__);
});
cljs.core.obj_map.cljs$core$IFn$_invoke$arity$variadic = (function (keyvals){
var ks = [];
var obj = {};
var kvs = cljs.core.seq(keyvals);
while(true){
if(kvs){
ks.push(cljs.core.first(kvs));
var G__13670_13676 = obj;
var G__13671_13677 = cljs.core.first(kvs);
var G__13672_13678 = cljs.core.second(kvs);
goog.object.set(G__13670_13676,G__13671_13677,G__13672_13678);
var G__13679 = cljs.core.nnext(kvs);
kvs = G__13679;
continue;
} else {
return cljs.core.ObjMap.fromObject(ks,obj);
}
break;
}
});
cljs.core.obj_map.cljs$lang$maxFixedArity = (0);
cljs.core.obj_map.cljs$lang$applyTo = (function (seq13667){
return cljs.core.obj_map.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq13667));
});
/**
* keyval => key val
* Returns a new sorted map with supplied mappings.
*/
cljs.core.sorted_map = (function cljs$core$sorted_map(var_args){
var args__10068__auto__ = [];
var len__10061__auto___13681 = arguments.length;
var i__10062__auto___13682 = (0);
while(true){
if((i__10062__auto___13682 < len__10061__auto___13681)){
args__10068__auto__.push((arguments[i__10062__auto___13682]));
var G__13683 = (i__10062__auto___13682 + (1));
i__10062__auto___13682 = G__13683;
continue;
} else {
}
break;
}
var argseq__10069__auto__ = ((((0) < args__10068__auto__.length))?(new cljs.core.IndexedSeq(args__10068__auto__.slice((0)),(0),null)):null);
return cljs.core.sorted_map.cljs$core$IFn$_invoke$arity$variadic(argseq__10069__auto__);
});
cljs.core.sorted_map.cljs$core$IFn$_invoke$arity$variadic = (function (keyvals){
var in$ = cljs.core.seq(keyvals);
var out = cljs.core.PersistentTreeMap.EMPTY;
while(true){
if(in$){
var G__13684 = cljs.core.nnext(in$);
var G__13685 = cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(out,cljs.core.first(in$),cljs.core.second(in$));
in$ = G__13684;
out = G__13685;
continue;
} else {
return out;
}
break;
}
});
cljs.core.sorted_map.cljs$lang$maxFixedArity = (0);
cljs.core.sorted_map.cljs$lang$applyTo = (function (seq13680){
return cljs.core.sorted_map.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq13680));
});
/**
* keyval => key val
* Returns a new sorted map with supplied mappings, using the supplied comparator.
*/
cljs.core.sorted_map_by = (function cljs$core$sorted_map_by(var_args){
var args__10068__auto__ = [];
var len__10061__auto___13688 = arguments.length;
var i__10062__auto___13689 = (0);
while(true){
if((i__10062__auto___13689 < len__10061__auto___13688)){
args__10068__auto__.push((arguments[i__10062__auto___13689]));
var G__13690 = (i__10062__auto___13689 + (1));
i__10062__auto___13689 = G__13690;
continue;
} else {
}
break;
}
var argseq__10069__auto__ = ((((1) < args__10068__auto__.length))?(new cljs.core.IndexedSeq(args__10068__auto__.slice((1)),(0),null)):null);
return cljs.core.sorted_map_by.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__10069__auto__);
});
cljs.core.sorted_map_by.cljs$core$IFn$_invoke$arity$variadic = (function (comparator,keyvals){
var in$ = cljs.core.seq(keyvals);
var out = (new cljs.core.PersistentTreeMap(cljs.core.fn__GT_comparator(comparator),null,(0),null,(0)));
while(true){
if(in$){
var G__13691 = cljs.core.nnext(in$);
var G__13692 = cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(out,cljs.core.first(in$),cljs.core.second(in$));
in$ = G__13691;
out = G__13692;
continue;
} else {
return out;
}
break;
}
});
cljs.core.sorted_map_by.cljs$lang$maxFixedArity = (1);
cljs.core.sorted_map_by.cljs$lang$applyTo = (function (seq13686){
var G__13687 = cljs.core.first(seq13686);
var seq13686__$1 = cljs.core.next(seq13686);
return cljs.core.sorted_map_by.cljs$core$IFn$_invoke$arity$variadic(G__13687,seq13686__$1);
});
/**
* @constructor
* @implements {cljs.core.IEquiv}
* @implements {cljs.core.IHash}
* @implements {cljs.core.ICollection}
* @implements {cljs.core.IEmptyableCollection}
* @implements {cljs.core.ISeq}
* @implements {cljs.core.INext}
* @implements {cljs.core.ISeqable}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.ISequential}
* @implements {cljs.core.IWithMeta}
* @implements {cljs.core.IReduce}
*/
cljs.core.KeySeq = (function (mseq,_meta){
this.mseq = mseq;
this._meta = _meta;
this.cljs$lang$protocol_mask$partition0$ = 32374988;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
cljs.core.KeySeq.prototype.toString = (function (){
var self__ = this;
var coll = this;
return cljs.core.pr_str_STAR_(coll);
});
cljs.core.KeySeq.prototype.equiv = (function (other){
var self__ = this;
var this$ = this;
return this$.cljs$core$IEquiv$_equiv$arity$2(null,other);
});
cljs.core.KeySeq.prototype.indexOf = (function() {
var G__13695 = null;
var G__13695__1 = (function (x){
var self__ = this;
var coll = this;
return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));
});
var G__13695__2 = (function (x,start){
var self__ = this;
var coll = this;
return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);
});
G__13695 = function(x,start){
switch(arguments.length){
case 1:
return G__13695__1.call(this,x);
case 2:
return G__13695__2.call(this,x,start);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13695.cljs$core$IFn$_invoke$arity$1 = G__13695__1;
G__13695.cljs$core$IFn$_invoke$arity$2 = G__13695__2;
return G__13695;
})()
;
cljs.core.KeySeq.prototype.lastIndexOf = (function() {
var G__13696 = null;
var G__13696__1 = (function (x){
var self__ = this;
var coll = this;
return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));
});
var G__13696__2 = (function (x,start){
var self__ = this;
var coll = this;
return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);
});
G__13696 = function(x,start){
switch(arguments.length){
case 1:
return G__13696__1.call(this,x);
case 2:
return G__13696__2.call(this,x,start);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13696.cljs$core$IFn$_invoke$arity$1 = G__13696__1;
G__13696.cljs$core$IFn$_invoke$arity$2 = G__13696__2;
return G__13696;
})()
;
cljs.core.KeySeq.prototype.cljs$core$IMeta$_meta$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return self__._meta;
});
cljs.core.KeySeq.prototype.cljs$core$INext$_next$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
var nseq = ((((!((self__.mseq == null)))?((((self__.mseq.cljs$lang$protocol_mask$partition0$ & (128))) || ((cljs.core.PROTOCOL_SENTINEL === self__.mseq.cljs$core$INext$)))?true:(((!self__.mseq.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.INext,self__.mseq):false)):cljs.core.native_satisfies_QMARK_(cljs.core.INext,self__.mseq)))?self__.mseq.cljs$core$INext$_next$arity$1(null):cljs.core.next(self__.mseq));
if((nseq == null)){
return null;
} else {
return (new cljs.core.KeySeq(nseq,self__._meta));
}
});
cljs.core.KeySeq.prototype.cljs$core$IHash$_hash$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return cljs.core.hash_ordered_coll(coll__$1);
});
cljs.core.KeySeq.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (coll,other){
var self__ = this;
var coll__$1 = this;
return cljs.core.equiv_sequential(coll__$1,other);
});
cljs.core.KeySeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return cljs.core._with_meta(cljs.core.List.EMPTY,self__._meta);
});
cljs.core.KeySeq.prototype.cljs$core$IReduce$_reduce$arity$2 = (function (coll,f){
var self__ = this;
var coll__$1 = this;
return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);
});
cljs.core.KeySeq.prototype.cljs$core$IReduce$_reduce$arity$3 = (function (coll,f,start){
var self__ = this;
var coll__$1 = this;
return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);
});
cljs.core.KeySeq.prototype.cljs$core$ISeq$_first$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
var me = self__.mseq.cljs$core$ISeq$_first$arity$1(null);
return me.cljs$core$IMapEntry$_key$arity$1(null);
});
cljs.core.KeySeq.prototype.cljs$core$ISeq$_rest$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
var nseq = ((((!((self__.mseq == null)))?((((self__.mseq.cljs$lang$protocol_mask$partition0$ & (128))) || ((cljs.core.PROTOCOL_SENTINEL === self__.mseq.cljs$core$INext$)))?true:(((!self__.mseq.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.INext,self__.mseq):false)):cljs.core.native_satisfies_QMARK_(cljs.core.INext,self__.mseq)))?self__.mseq.cljs$core$INext$_next$arity$1(null):cljs.core.next(self__.mseq));
if(!((nseq == null))){
return (new cljs.core.KeySeq(nseq,self__._meta));
} else {
return cljs.core.List.EMPTY;
}
});
cljs.core.KeySeq.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return coll__$1;
});
cljs.core.KeySeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (coll,new_meta){
var self__ = this;
var coll__$1 = this;
return (new cljs.core.KeySeq(self__.mseq,new_meta));
});
cljs.core.KeySeq.prototype.cljs$core$ICollection$_conj$arity$2 = (function (coll,o){
var self__ = this;
var coll__$1 = this;
return cljs.core.cons(o,coll__$1);
});
cljs.core.KeySeq.getBasis = (function (){
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(cljs.core.cst$sym$mseq,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$tag,cljs.core.cst$sym$not_DASH_native], null)),cljs.core.cst$sym$_meta], null);
});
cljs.core.KeySeq.cljs$lang$type = true;
cljs.core.KeySeq.cljs$lang$ctorStr = "cljs.core/KeySeq";
cljs.core.KeySeq.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/KeySeq");
});
cljs.core.__GT_KeySeq = (function cljs$core$__GT_KeySeq(mseq,_meta){
return (new cljs.core.KeySeq(mseq,_meta));
});
var G__13697_13700 = cljs.core.KeySeq.prototype;
var G__13698_13701 = cljs.core.ITER_SYMBOL;
var G__13699_13702 = ((function (G__13697_13700,G__13698_13701){
return (function (){
var this__9929__auto__ = this;
return cljs.core.es6_iterator(this__9929__auto__);
});})(G__13697_13700,G__13698_13701))
;
goog.object.set(G__13697_13700,G__13698_13701,G__13699_13702);
/**
* Returns a sequence of the map's keys.
*/
cljs.core.keys = (function cljs$core$keys(hash_map){
var temp__5457__auto__ = cljs.core.seq(hash_map);
if(temp__5457__auto__){
var mseq = temp__5457__auto__;
return (new cljs.core.KeySeq(mseq,null));
} else {
return null;
}
});
/**
* Returns the key of the map entry.
*/
cljs.core.key = (function cljs$core$key(map_entry){
return cljs.core._key(map_entry);
});
/**
* @constructor
* @implements {cljs.core.IEquiv}
* @implements {cljs.core.IHash}
* @implements {cljs.core.ICollection}
* @implements {cljs.core.IEmptyableCollection}
* @implements {cljs.core.ISeq}
* @implements {cljs.core.INext}
* @implements {cljs.core.ISeqable}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.ISequential}
* @implements {cljs.core.IWithMeta}
* @implements {cljs.core.IReduce}
*/
cljs.core.ValSeq = (function (mseq,_meta){
this.mseq = mseq;
this._meta = _meta;
this.cljs$lang$protocol_mask$partition0$ = 32374988;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
cljs.core.ValSeq.prototype.toString = (function (){
var self__ = this;
var coll = this;
return cljs.core.pr_str_STAR_(coll);
});
cljs.core.ValSeq.prototype.equiv = (function (other){
var self__ = this;
var this$ = this;
return this$.cljs$core$IEquiv$_equiv$arity$2(null,other);
});
cljs.core.ValSeq.prototype.indexOf = (function() {
var G__13705 = null;
var G__13705__1 = (function (x){
var self__ = this;
var coll = this;
return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));
});
var G__13705__2 = (function (x,start){
var self__ = this;
var coll = this;
return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);
});
G__13705 = function(x,start){
switch(arguments.length){
case 1:
return G__13705__1.call(this,x);
case 2:
return G__13705__2.call(this,x,start);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13705.cljs$core$IFn$_invoke$arity$1 = G__13705__1;
G__13705.cljs$core$IFn$_invoke$arity$2 = G__13705__2;
return G__13705;
})()
;
cljs.core.ValSeq.prototype.lastIndexOf = (function() {
var G__13706 = null;
var G__13706__1 = (function (x){
var self__ = this;
var coll = this;
return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));
});
var G__13706__2 = (function (x,start){
var self__ = this;
var coll = this;
return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start);
});
G__13706 = function(x,start){
switch(arguments.length){
case 1:
return G__13706__1.call(this,x);
case 2:
return G__13706__2.call(this,x,start);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13706.cljs$core$IFn$_invoke$arity$1 = G__13706__1;
G__13706.cljs$core$IFn$_invoke$arity$2 = G__13706__2;
return G__13706;
})()
;
cljs.core.ValSeq.prototype.cljs$core$IMeta$_meta$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return self__._meta;
});
cljs.core.ValSeq.prototype.cljs$core$INext$_next$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
var nseq = ((((!((self__.mseq == null)))?((((self__.mseq.cljs$lang$protocol_mask$partition0$ & (128))) || ((cljs.core.PROTOCOL_SENTINEL === self__.mseq.cljs$core$INext$)))?true:(((!self__.mseq.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.INext,self__.mseq):false)):cljs.core.native_satisfies_QMARK_(cljs.core.INext,self__.mseq)))?self__.mseq.cljs$core$INext$_next$arity$1(null):cljs.core.next(self__.mseq));
if((nseq == null)){
return null;
} else {
return (new cljs.core.ValSeq(nseq,self__._meta));
}
});
cljs.core.ValSeq.prototype.cljs$core$IHash$_hash$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return cljs.core.hash_ordered_coll(coll__$1);
});
cljs.core.ValSeq.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (coll,other){
var self__ = this;
var coll__$1 = this;
return cljs.core.equiv_sequential(coll__$1,other);
});
cljs.core.ValSeq.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return cljs.core._with_meta(cljs.core.List.EMPTY,self__._meta);
});
cljs.core.ValSeq.prototype.cljs$core$IReduce$_reduce$arity$2 = (function (coll,f){
var self__ = this;
var coll__$1 = this;
return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$2(f,coll__$1);
});
cljs.core.ValSeq.prototype.cljs$core$IReduce$_reduce$arity$3 = (function (coll,f,start){
var self__ = this;
var coll__$1 = this;
return cljs.core.seq_reduce.cljs$core$IFn$_invoke$arity$3(f,start,coll__$1);
});
cljs.core.ValSeq.prototype.cljs$core$ISeq$_first$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
var me = self__.mseq.cljs$core$ISeq$_first$arity$1(null);
return me.cljs$core$IMapEntry$_val$arity$1(null);
});
cljs.core.ValSeq.prototype.cljs$core$ISeq$_rest$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
var nseq = ((((!((self__.mseq == null)))?((((self__.mseq.cljs$lang$protocol_mask$partition0$ & (128))) || ((cljs.core.PROTOCOL_SENTINEL === self__.mseq.cljs$core$INext$)))?true:(((!self__.mseq.cljs$lang$protocol_mask$partition0$))?cljs.core.native_satisfies_QMARK_(cljs.core.INext,self__.mseq):false)):cljs.core.native_satisfies_QMARK_(cljs.core.INext,self__.mseq)))?self__.mseq.cljs$core$INext$_next$arity$1(null):cljs.core.next(self__.mseq));
if(!((nseq == null))){
return (new cljs.core.ValSeq(nseq,self__._meta));
} else {
return cljs.core.List.EMPTY;
}
});
cljs.core.ValSeq.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return coll__$1;
});
cljs.core.ValSeq.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (coll,new_meta){
var self__ = this;
var coll__$1 = this;
return (new cljs.core.ValSeq(self__.mseq,new_meta));
});
cljs.core.ValSeq.prototype.cljs$core$ICollection$_conj$arity$2 = (function (coll,o){
var self__ = this;
var coll__$1 = this;
return cljs.core.cons(o,coll__$1);
});
cljs.core.ValSeq.getBasis = (function (){
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(cljs.core.cst$sym$mseq,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$tag,cljs.core.cst$sym$not_DASH_native], null)),cljs.core.cst$sym$_meta], null);
});
cljs.core.ValSeq.cljs$lang$type = true;
cljs.core.ValSeq.cljs$lang$ctorStr = "cljs.core/ValSeq";
cljs.core.ValSeq.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/ValSeq");
});
cljs.core.__GT_ValSeq = (function cljs$core$__GT_ValSeq(mseq,_meta){
return (new cljs.core.ValSeq(mseq,_meta));
});
var G__13707_13710 = cljs.core.ValSeq.prototype;
var G__13708_13711 = cljs.core.ITER_SYMBOL;
var G__13709_13712 = ((function (G__13707_13710,G__13708_13711){
return (function (){
var this__9929__auto__ = this;
return cljs.core.es6_iterator(this__9929__auto__);
});})(G__13707_13710,G__13708_13711))
;
goog.object.set(G__13707_13710,G__13708_13711,G__13709_13712);
/**
* Returns a sequence of the map's values.
*/
cljs.core.vals = (function cljs$core$vals(hash_map){
var temp__5457__auto__ = cljs.core.seq(hash_map);
if(temp__5457__auto__){
var mseq = temp__5457__auto__;
return (new cljs.core.ValSeq(mseq,null));
} else {
return null;
}
});
/**
* Returns the value in the map entry.
*/
cljs.core.val = (function cljs$core$val(map_entry){
return cljs.core._val(map_entry);
});
/**
* Returns a map that consists of the rest of the maps conj-ed onto
* the first. If a key occurs in more than one map, the mapping from
* the latter (left-to-right) will be the mapping in the result.
*/
cljs.core.merge = (function cljs$core$merge(var_args){
var args__10068__auto__ = [];
var len__10061__auto___13716 = arguments.length;
var i__10062__auto___13717 = (0);
while(true){
if((i__10062__auto___13717 < len__10061__auto___13716)){
args__10068__auto__.push((arguments[i__10062__auto___13717]));
var G__13718 = (i__10062__auto___13717 + (1));
i__10062__auto___13717 = G__13718;
continue;
} else {
}
break;
}
var argseq__10069__auto__ = ((((0) < args__10068__auto__.length))?(new cljs.core.IndexedSeq(args__10068__auto__.slice((0)),(0),null)):null);
return cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(argseq__10069__auto__);
});
cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic = (function (maps){
if(cljs.core.truth_(cljs.core.some(cljs.core.identity,maps))){
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$2((function (p1__13713_SHARP_,p2__13714_SHARP_){
return cljs.core.conj.cljs$core$IFn$_invoke$arity$2((function (){var or__8782__auto__ = p1__13713_SHARP_;
if(cljs.core.truth_(or__8782__auto__)){
return or__8782__auto__;
} else {
return cljs.core.PersistentArrayMap.EMPTY;
}
})(),p2__13714_SHARP_);
}),maps);
} else {
return null;
}
});
cljs.core.merge.cljs$lang$maxFixedArity = (0);
cljs.core.merge.cljs$lang$applyTo = (function (seq13715){
return cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq13715));
});
/**
* Returns a map that consists of the rest of the maps conj-ed onto
* the first. If a key occurs in more than one map, the mapping(s)
* from the latter (left-to-right) will be combined with the mapping in
* the result by calling (f val-in-result val-in-latter).
*/
cljs.core.merge_with = (function cljs$core$merge_with(var_args){
var args__10068__auto__ = [];
var len__10061__auto___13723 = arguments.length;
var i__10062__auto___13724 = (0);
while(true){
if((i__10062__auto___13724 < len__10061__auto___13723)){
args__10068__auto__.push((arguments[i__10062__auto___13724]));
var G__13725 = (i__10062__auto___13724 + (1));
i__10062__auto___13724 = G__13725;
continue;
} else {
}
break;
}
var argseq__10069__auto__ = ((((1) < args__10068__auto__.length))?(new cljs.core.IndexedSeq(args__10068__auto__.slice((1)),(0),null)):null);
return cljs.core.merge_with.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__10069__auto__);
});
cljs.core.merge_with.cljs$core$IFn$_invoke$arity$variadic = (function (f,maps){
if(cljs.core.truth_(cljs.core.some(cljs.core.identity,maps))){
var merge_entry = (function (m,e){
var k = cljs.core.first(e);
var v = cljs.core.second(e);
if(cljs.core.contains_QMARK_(m,k)){
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,(function (){var G__13721 = cljs.core.get.cljs$core$IFn$_invoke$arity$2(m,k);
var G__13722 = v;
return (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__13721,G__13722) : f.call(null,G__13721,G__13722));
})());
} else {
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(m,k,v);
}
});
var merge2 = ((function (merge_entry){
return (function (m1,m2){
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(merge_entry,(function (){var or__8782__auto__ = m1;
if(cljs.core.truth_(or__8782__auto__)){
return or__8782__auto__;
} else {
return cljs.core.PersistentArrayMap.EMPTY;
}
})(),cljs.core.seq(m2));
});})(merge_entry))
;
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$2(merge2,maps);
} else {
return null;
}
});
cljs.core.merge_with.cljs$lang$maxFixedArity = (1);
cljs.core.merge_with.cljs$lang$applyTo = (function (seq13719){
var G__13720 = cljs.core.first(seq13719);
var seq13719__$1 = cljs.core.next(seq13719);
return cljs.core.merge_with.cljs$core$IFn$_invoke$arity$variadic(G__13720,seq13719__$1);
});
/**
* Returns a map containing only those entries in map whose key is in keys
*/
cljs.core.select_keys = (function cljs$core$select_keys(map,keyseq){
var ret = cljs.core.PersistentArrayMap.EMPTY;
var keys = cljs.core.seq(keyseq);
while(true){
if(keys){
var key = cljs.core.first(keys);
var entry = cljs.core.get.cljs$core$IFn$_invoke$arity$3(map,key,cljs.core.cst$kw$cljs$core_SLASH_not_DASH_found);
var G__13726 = ((cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(entry,cljs.core.cst$kw$cljs$core_SLASH_not_DASH_found))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ret,key,entry):ret);
var G__13727 = cljs.core.next(keys);
ret = G__13726;
keys = G__13727;
continue;
} else {
return cljs.core._with_meta(ret,cljs.core.meta(map));
}
break;
}
});
/**
* @constructor
*/
cljs.core.HashSetIter = (function (iter){
this.iter = iter;
});
cljs.core.HashSetIter.prototype.hasNext = (function (){
var self__ = this;
var _ = this;
return self__.iter.hasNext();
});
cljs.core.HashSetIter.prototype.next = (function (){
var self__ = this;
var _ = this;
if(self__.iter.hasNext()){
return (self__.iter.next().tail[(0)]);
} else {
throw (new Error("No such element"));
}
});
cljs.core.HashSetIter.prototype.remove = (function (){
var self__ = this;
var _ = this;
return (new Error("Unsupported operation"));
});
cljs.core.HashSetIter.getBasis = (function (){
return new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$iter], null);
});
cljs.core.HashSetIter.cljs$lang$type = true;
cljs.core.HashSetIter.cljs$lang$ctorStr = "cljs.core/HashSetIter";
cljs.core.HashSetIter.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/HashSetIter");
});
cljs.core.__GT_HashSetIter = (function cljs$core$__GT_HashSetIter(iter){
return (new cljs.core.HashSetIter(iter));
});
/**
* @constructor
* @implements {cljs.core.IEquiv}
* @implements {cljs.core.IHash}
* @implements {cljs.core.IFn}
* @implements {cljs.core.ICollection}
* @implements {cljs.core.IEditableCollection}
* @implements {cljs.core.ISet}
* @implements {cljs.core.IEmptyableCollection}
* @implements {cljs.core.ICounted}
* @implements {cljs.core.ISeqable}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.ICloneable}
* @implements {cljs.core.IIterable}
* @implements {cljs.core.IWithMeta}
* @implements {cljs.core.ILookup}
*/
cljs.core.PersistentHashSet = (function (meta,hash_map,__hash){
this.meta = meta;
this.hash_map = hash_map;
this.__hash = __hash;
this.cljs$lang$protocol_mask$partition0$ = 15077647;
this.cljs$lang$protocol_mask$partition1$ = 139268;
});
cljs.core.PersistentHashSet.prototype.toString = (function (){
var self__ = this;
var coll = this;
return cljs.core.pr_str_STAR_(coll);
});
cljs.core.PersistentHashSet.prototype.equiv = (function (other){
var self__ = this;
var this$ = this;
return this$.cljs$core$IEquiv$_equiv$arity$2(null,other);
});
cljs.core.PersistentHashSet.prototype.keys = (function (){
var self__ = this;
var coll = this;
return cljs.core.es6_iterator(cljs.core.seq(coll));
});
cljs.core.PersistentHashSet.prototype.entries = (function (){
var self__ = this;
var coll = this;
return cljs.core.es6_set_entries_iterator(cljs.core.seq(coll));
});
cljs.core.PersistentHashSet.prototype.values = (function (){
var self__ = this;
var coll = this;
return cljs.core.es6_iterator(cljs.core.seq(coll));
});
cljs.core.PersistentHashSet.prototype.has = (function (k){
var self__ = this;
var coll = this;
return cljs.core.contains_QMARK_(coll,k);
});
cljs.core.PersistentHashSet.prototype.forEach = (function (f){
var self__ = this;
var coll = this;
var seq__13731 = cljs.core.seq(coll);
var chunk__13732 = null;
var count__13733 = (0);
var i__13734 = (0);
while(true){
if((i__13734 < count__13733)){
var vec__13735 = chunk__13732.cljs$core$IIndexed$_nth$arity$2(null,i__13734);
var k = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__13735,(0),null);
var v = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__13735,(1),null);
(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));
var G__13741 = seq__13731;
var G__13742 = chunk__13732;
var G__13743 = count__13733;
var G__13744 = (i__13734 + (1));
seq__13731 = G__13741;
chunk__13732 = G__13742;
count__13733 = G__13743;
i__13734 = G__13744;
continue;
} else {
var temp__5457__auto__ = cljs.core.seq(seq__13731);
if(temp__5457__auto__){
var seq__13731__$1 = temp__5457__auto__;
if(cljs.core.chunked_seq_QMARK_(seq__13731__$1)){
var c__9713__auto__ = cljs.core.chunk_first(seq__13731__$1);
var G__13745 = cljs.core.chunk_rest(seq__13731__$1);
var G__13746 = c__9713__auto__;
var G__13747 = cljs.core.count(c__9713__auto__);
var G__13748 = (0);
seq__13731 = G__13745;
chunk__13732 = G__13746;
count__13733 = G__13747;
i__13734 = G__13748;
continue;
} else {
var vec__13738 = cljs.core.first(seq__13731__$1);
var k = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__13738,(0),null);
var v = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__13738,(1),null);
(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));
var G__13749 = cljs.core.next(seq__13731__$1);
var G__13750 = null;
var G__13751 = (0);
var G__13752 = (0);
seq__13731 = G__13749;
chunk__13732 = G__13750;
count__13733 = G__13751;
i__13734 = G__13752;
continue;
}
} else {
return null;
}
}
break;
}
});
cljs.core.PersistentHashSet.prototype.cljs$core$ILookup$_lookup$arity$2 = (function (coll,v){
var self__ = this;
var coll__$1 = this;
return coll__$1.cljs$core$ILookup$_lookup$arity$3(null,v,null);
});
cljs.core.PersistentHashSet.prototype.cljs$core$ILookup$_lookup$arity$3 = (function (coll,v,not_found){
var self__ = this;
var coll__$1 = this;
if(cljs.core._contains_key_QMARK_(self__.hash_map,v)){
return v;
} else {
return not_found;
}
});
cljs.core.PersistentHashSet.prototype.cljs$core$IIterable$_iterator$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return (new cljs.core.HashSetIter(cljs.core._iterator(self__.hash_map)));
});
cljs.core.PersistentHashSet.prototype.cljs$core$IMeta$_meta$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return self__.meta;
});
cljs.core.PersistentHashSet.prototype.cljs$core$ICloneable$_clone$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return (new cljs.core.PersistentHashSet(self__.meta,self__.hash_map,self__.__hash));
});
cljs.core.PersistentHashSet.prototype.cljs$core$ICounted$_count$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return cljs.core._count(self__.hash_map);
});
cljs.core.PersistentHashSet.prototype.cljs$core$IHash$_hash$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
var h__9238__auto__ = self__.__hash;
if(!((h__9238__auto__ == null))){
return h__9238__auto__;
} else {
var h__9238__auto____$1 = cljs.core.hash_unordered_coll(coll__$1);
self__.__hash = h__9238__auto____$1;
return h__9238__auto____$1;
}
});
cljs.core.PersistentHashSet.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (coll,other){
var self__ = this;
var coll__$1 = this;
return (cljs.core.set_QMARK_(other)) && ((cljs.core.count(coll__$1) === cljs.core.count(other))) && (cljs.core.reduce_kv(((function (coll__$1){
return (function (p1__13729_SHARP_,p2__13728_SHARP_){
var or__8782__auto__ = cljs.core.contains_QMARK_(other,p2__13728_SHARP_);
if(or__8782__auto__){
return or__8782__auto__;
} else {
return cljs.core.reduced(false);
}
});})(coll__$1))
,true,self__.hash_map));
});
cljs.core.PersistentHashSet.prototype.cljs$core$IEditableCollection$_as_transient$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return (new cljs.core.TransientHashSet(cljs.core._as_transient(self__.hash_map)));
});
cljs.core.PersistentHashSet.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return cljs.core._with_meta(cljs.core.PersistentHashSet.EMPTY,self__.meta);
});
cljs.core.PersistentHashSet.prototype.cljs$core$ISet$_disjoin$arity$2 = (function (coll,v){
var self__ = this;
var coll__$1 = this;
return (new cljs.core.PersistentHashSet(self__.meta,cljs.core._dissoc(self__.hash_map,v),null));
});
cljs.core.PersistentHashSet.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return cljs.core.keys(self__.hash_map);
});
cljs.core.PersistentHashSet.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (coll,meta__$1){
var self__ = this;
var coll__$1 = this;
return (new cljs.core.PersistentHashSet(meta__$1,self__.hash_map,self__.__hash));
});
cljs.core.PersistentHashSet.prototype.cljs$core$ICollection$_conj$arity$2 = (function (coll,o){
var self__ = this;
var coll__$1 = this;
return (new cljs.core.PersistentHashSet(self__.meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.hash_map,o,null),null));
});
cljs.core.PersistentHashSet.prototype.call = (function() {
var G__13753 = null;
var G__13753__2 = (function (self__,k){
var self__ = this;
var self____$1 = this;
var coll = self____$1;
return coll.cljs$core$ILookup$_lookup$arity$2(null,k);
});
var G__13753__3 = (function (self__,k,not_found){
var self__ = this;
var self____$1 = this;
var coll = self____$1;
return coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);
});
G__13753 = function(self__,k,not_found){
switch(arguments.length){
case 2:
return G__13753__2.call(this,self__,k);
case 3:
return G__13753__3.call(this,self__,k,not_found);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13753.cljs$core$IFn$_invoke$arity$2 = G__13753__2;
G__13753.cljs$core$IFn$_invoke$arity$3 = G__13753__3;
return G__13753;
})()
;
cljs.core.PersistentHashSet.prototype.apply = (function (self__,args13730){
var self__ = this;
var self____$1 = this;
return self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args13730)));
});
cljs.core.PersistentHashSet.prototype.cljs$core$IFn$_invoke$arity$1 = (function (k){
var self__ = this;
var coll = this;
return coll.cljs$core$ILookup$_lookup$arity$2(null,k);
});
cljs.core.PersistentHashSet.prototype.cljs$core$IFn$_invoke$arity$2 = (function (k,not_found){
var self__ = this;
var coll = this;
return coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);
});
cljs.core.PersistentHashSet.getBasis = (function (){
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$meta,cljs.core.cst$sym$hash_DASH_map,cljs.core.with_meta(cljs.core.cst$sym$__hash,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null))], null);
});
cljs.core.PersistentHashSet.cljs$lang$type = true;
cljs.core.PersistentHashSet.cljs$lang$ctorStr = "cljs.core/PersistentHashSet";
cljs.core.PersistentHashSet.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/PersistentHashSet");
});
cljs.core.__GT_PersistentHashSet = (function cljs$core$__GT_PersistentHashSet(meta,hash_map,__hash){
return (new cljs.core.PersistentHashSet(meta,hash_map,__hash));
});
cljs.core.PersistentHashSet.EMPTY = (new cljs.core.PersistentHashSet(null,cljs.core.PersistentArrayMap.EMPTY,cljs.core.empty_unordered_hash));
cljs.core.PersistentHashSet.fromArray = (function (items,no_clone){
var len = items.length;
if((len <= cljs.core.PersistentArrayMap.HASHMAP_THRESHOLD)){
var arr = ((no_clone)?items:cljs.core.aclone(items));
var i = (0);
var out = cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY);
while(true){
if((i < len)){
var G__13754 = (i + (1));
var G__13755 = cljs.core._assoc_BANG_(out,(items[i]),null);
i = G__13754;
out = G__13755;
continue;
} else {
return (new cljs.core.PersistentHashSet(null,cljs.core._persistent_BANG_(out),null));
}
break;
}
} else {
var i = (0);
var out = cljs.core.transient$(cljs.core.PersistentHashSet.EMPTY);
while(true){
if((i < len)){
var G__13756 = (i + (1));
var G__13757 = cljs.core._conj_BANG_(out,(items[i]));
i = G__13756;
out = G__13757;
continue;
} else {
return cljs.core._persistent_BANG_(out);
}
break;
}
}
});
cljs.core.PersistentHashSet.createWithCheck = (function (items){
var len = items.length;
var t = cljs.core._as_transient(cljs.core.PersistentHashSet.EMPTY);
var n__9827__auto___13758 = len;
var i_13759 = (0);
while(true){
if((i_13759 < n__9827__auto___13758)){
cljs.core._conj_BANG_(t,(items[i_13759]));
if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(t),(i_13759 + (1)))){
} else {
throw (new Error(["Duplicate key: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1((items[i_13759]))].join('')));
}
var G__13760 = (i_13759 + (1));
i_13759 = G__13760;
continue;
} else {
}
break;
}
return cljs.core._persistent_BANG_(t);
});
cljs.core.PersistentHashSet.createAsIfByAssoc = (function (items){
var len = items.length;
var t = cljs.core._as_transient(cljs.core.PersistentHashSet.EMPTY);
var n__9827__auto___13761 = len;
var i_13762 = (0);
while(true){
if((i_13762 < n__9827__auto___13761)){
cljs.core._conj_BANG_(t,(items[i_13762]));
var G__13763 = (i_13762 + (1));
i_13762 = G__13763;
continue;
} else {
}
break;
}
return cljs.core._persistent_BANG_(t);
});
var G__13764_13767 = cljs.core.PersistentHashSet.prototype;
var G__13765_13768 = cljs.core.ITER_SYMBOL;
var G__13766_13769 = ((function (G__13764_13767,G__13765_13768){
return (function (){
var this__9929__auto__ = this;
return cljs.core.es6_iterator(this__9929__auto__);
});})(G__13764_13767,G__13765_13768))
;
goog.object.set(G__13764_13767,G__13765_13768,G__13766_13769);
/**
* @constructor
* @implements {cljs.core.ITransientSet}
* @implements {cljs.core.IFn}
* @implements {cljs.core.ICounted}
* @implements {cljs.core.ITransientCollection}
* @implements {cljs.core.ILookup}
*/
cljs.core.TransientHashSet = (function (transient_map){
this.transient_map = transient_map;
this.cljs$lang$protocol_mask$partition1$ = 136;
this.cljs$lang$protocol_mask$partition0$ = 259;
});
cljs.core.TransientHashSet.prototype.cljs$core$ITransientCollection$_conj_BANG_$arity$2 = (function (tcoll,o){
var self__ = this;
var tcoll__$1 = this;
self__.transient_map = cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(self__.transient_map,o,null);
return tcoll__$1;
});
cljs.core.TransientHashSet.prototype.cljs$core$ITransientCollection$_persistent_BANG_$arity$1 = (function (tcoll){
var self__ = this;
var tcoll__$1 = this;
return (new cljs.core.PersistentHashSet(null,cljs.core.persistent_BANG_(self__.transient_map),null));
});
cljs.core.TransientHashSet.prototype.cljs$core$ITransientSet$_disjoin_BANG_$arity$2 = (function (tcoll,v){
var self__ = this;
var tcoll__$1 = this;
self__.transient_map = cljs.core.dissoc_BANG_.cljs$core$IFn$_invoke$arity$2(self__.transient_map,v);
return tcoll__$1;
});
cljs.core.TransientHashSet.prototype.cljs$core$ICounted$_count$arity$1 = (function (tcoll){
var self__ = this;
var tcoll__$1 = this;
return cljs.core.count(self__.transient_map);
});
cljs.core.TransientHashSet.prototype.cljs$core$ILookup$_lookup$arity$2 = (function (tcoll,v){
var self__ = this;
var tcoll__$1 = this;
return tcoll__$1.cljs$core$ILookup$_lookup$arity$3(null,v,null);
});
cljs.core.TransientHashSet.prototype.cljs$core$ILookup$_lookup$arity$3 = (function (tcoll,v,not_found){
var self__ = this;
var tcoll__$1 = this;
if((cljs.core._lookup.cljs$core$IFn$_invoke$arity$3(self__.transient_map,v,cljs.core.lookup_sentinel) === cljs.core.lookup_sentinel)){
return not_found;
} else {
return v;
}
});
cljs.core.TransientHashSet.prototype.call = (function() {
var G__13771 = null;
var G__13771__2 = (function (self__,k){
var self__ = this;
var self____$1 = this;
var tcoll = self____$1;
if((cljs.core._lookup.cljs$core$IFn$_invoke$arity$3(self__.transient_map,k,cljs.core.lookup_sentinel) === cljs.core.lookup_sentinel)){
return null;
} else {
return k;
}
});
var G__13771__3 = (function (self__,k,not_found){
var self__ = this;
var self____$1 = this;
var tcoll = self____$1;
if((cljs.core._lookup.cljs$core$IFn$_invoke$arity$3(self__.transient_map,k,cljs.core.lookup_sentinel) === cljs.core.lookup_sentinel)){
return not_found;
} else {
return k;
}
});
G__13771 = function(self__,k,not_found){
switch(arguments.length){
case 2:
return G__13771__2.call(this,self__,k);
case 3:
return G__13771__3.call(this,self__,k,not_found);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13771.cljs$core$IFn$_invoke$arity$2 = G__13771__2;
G__13771.cljs$core$IFn$_invoke$arity$3 = G__13771__3;
return G__13771;
})()
;
cljs.core.TransientHashSet.prototype.apply = (function (self__,args13770){
var self__ = this;
var self____$1 = this;
return self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args13770)));
});
cljs.core.TransientHashSet.prototype.cljs$core$IFn$_invoke$arity$1 = (function (k){
var self__ = this;
var tcoll = this;
if((cljs.core._lookup.cljs$core$IFn$_invoke$arity$3(self__.transient_map,k,cljs.core.lookup_sentinel) === cljs.core.lookup_sentinel)){
return null;
} else {
return k;
}
});
cljs.core.TransientHashSet.prototype.cljs$core$IFn$_invoke$arity$2 = (function (k,not_found){
var self__ = this;
var tcoll = this;
if((cljs.core._lookup.cljs$core$IFn$_invoke$arity$3(self__.transient_map,k,cljs.core.lookup_sentinel) === cljs.core.lookup_sentinel)){
return not_found;
} else {
return k;
}
});
cljs.core.TransientHashSet.getBasis = (function (){
return new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(cljs.core.cst$sym$transient_DASH_map,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null))], null);
});
cljs.core.TransientHashSet.cljs$lang$type = true;
cljs.core.TransientHashSet.cljs$lang$ctorStr = "cljs.core/TransientHashSet";
cljs.core.TransientHashSet.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/TransientHashSet");
});
cljs.core.__GT_TransientHashSet = (function cljs$core$__GT_TransientHashSet(transient_map){
return (new cljs.core.TransientHashSet(transient_map));
});
/**
* @constructor
* @implements {cljs.core.IReversible}
* @implements {cljs.core.IEquiv}
* @implements {cljs.core.IHash}
* @implements {cljs.core.IFn}
* @implements {cljs.core.ICollection}
* @implements {cljs.core.ISet}
* @implements {cljs.core.IEmptyableCollection}
* @implements {cljs.core.ICounted}
* @implements {cljs.core.ISorted}
* @implements {cljs.core.ISeqable}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.ICloneable}
* @implements {cljs.core.IWithMeta}
* @implements {cljs.core.ILookup}
*/
cljs.core.PersistentTreeSet = (function (meta,tree_map,__hash){
this.meta = meta;
this.tree_map = tree_map;
this.__hash = __hash;
this.cljs$lang$protocol_mask$partition0$ = 417730831;
this.cljs$lang$protocol_mask$partition1$ = 8192;
});
cljs.core.PersistentTreeSet.prototype.toString = (function (){
var self__ = this;
var coll = this;
return cljs.core.pr_str_STAR_(coll);
});
cljs.core.PersistentTreeSet.prototype.equiv = (function (other){
var self__ = this;
var this$ = this;
return this$.cljs$core$IEquiv$_equiv$arity$2(null,other);
});
cljs.core.PersistentTreeSet.prototype.keys = (function (){
var self__ = this;
var coll = this;
return cljs.core.es6_iterator(cljs.core.seq(coll));
});
cljs.core.PersistentTreeSet.prototype.entries = (function (){
var self__ = this;
var coll = this;
return cljs.core.es6_set_entries_iterator(cljs.core.seq(coll));
});
cljs.core.PersistentTreeSet.prototype.values = (function (){
var self__ = this;
var coll = this;
return cljs.core.es6_iterator(cljs.core.seq(coll));
});
cljs.core.PersistentTreeSet.prototype.has = (function (k){
var self__ = this;
var coll = this;
return cljs.core.contains_QMARK_(coll,k);
});
cljs.core.PersistentTreeSet.prototype.forEach = (function (f){
var self__ = this;
var coll = this;
var seq__13775 = cljs.core.seq(coll);
var chunk__13776 = null;
var count__13777 = (0);
var i__13778 = (0);
while(true){
if((i__13778 < count__13777)){
var vec__13779 = chunk__13776.cljs$core$IIndexed$_nth$arity$2(null,i__13778);
var k = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__13779,(0),null);
var v = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__13779,(1),null);
(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));
var G__13785 = seq__13775;
var G__13786 = chunk__13776;
var G__13787 = count__13777;
var G__13788 = (i__13778 + (1));
seq__13775 = G__13785;
chunk__13776 = G__13786;
count__13777 = G__13787;
i__13778 = G__13788;
continue;
} else {
var temp__5457__auto__ = cljs.core.seq(seq__13775);
if(temp__5457__auto__){
var seq__13775__$1 = temp__5457__auto__;
if(cljs.core.chunked_seq_QMARK_(seq__13775__$1)){
var c__9713__auto__ = cljs.core.chunk_first(seq__13775__$1);
var G__13789 = cljs.core.chunk_rest(seq__13775__$1);
var G__13790 = c__9713__auto__;
var G__13791 = cljs.core.count(c__9713__auto__);
var G__13792 = (0);
seq__13775 = G__13789;
chunk__13776 = G__13790;
count__13777 = G__13791;
i__13778 = G__13792;
continue;
} else {
var vec__13782 = cljs.core.first(seq__13775__$1);
var k = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__13782,(0),null);
var v = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__13782,(1),null);
(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(v,k) : f.call(null,v,k));
var G__13793 = cljs.core.next(seq__13775__$1);
var G__13794 = null;
var G__13795 = (0);
var G__13796 = (0);
seq__13775 = G__13793;
chunk__13776 = G__13794;
count__13777 = G__13795;
i__13778 = G__13796;
continue;
}
} else {
return null;
}
}
break;
}
});
cljs.core.PersistentTreeSet.prototype.cljs$core$ILookup$_lookup$arity$2 = (function (coll,v){
var self__ = this;
var coll__$1 = this;
return coll__$1.cljs$core$ILookup$_lookup$arity$3(null,v,null);
});
cljs.core.PersistentTreeSet.prototype.cljs$core$ILookup$_lookup$arity$3 = (function (coll,v,not_found){
var self__ = this;
var coll__$1 = this;
var n = self__.tree_map.entry_at(v);
if(!((n == null))){
return n.key;
} else {
return not_found;
}
});
cljs.core.PersistentTreeSet.prototype.cljs$core$IMeta$_meta$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return self__.meta;
});
cljs.core.PersistentTreeSet.prototype.cljs$core$ICloneable$_clone$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return (new cljs.core.PersistentTreeSet(self__.meta,self__.tree_map,self__.__hash));
});
cljs.core.PersistentTreeSet.prototype.cljs$core$ICounted$_count$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return cljs.core.count(self__.tree_map);
});
cljs.core.PersistentTreeSet.prototype.cljs$core$IReversible$_rseq$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
if((cljs.core.count(self__.tree_map) > (0))){
return cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.key,cljs.core.rseq(self__.tree_map));
} else {
return null;
}
});
cljs.core.PersistentTreeSet.prototype.cljs$core$IHash$_hash$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
var h__9238__auto__ = self__.__hash;
if(!((h__9238__auto__ == null))){
return h__9238__auto__;
} else {
var h__9238__auto____$1 = cljs.core.hash_unordered_coll(coll__$1);
self__.__hash = h__9238__auto____$1;
return h__9238__auto____$1;
}
});
cljs.core.PersistentTreeSet.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (coll,other){
var self__ = this;
var coll__$1 = this;
return (cljs.core.set_QMARK_(other)) && ((cljs.core.count(coll__$1) === cljs.core.count(other))) && (cljs.core.reduce_kv(((function (coll__$1){
return (function (p1__13773_SHARP_,p2__13772_SHARP_){
var or__8782__auto__ = cljs.core.contains_QMARK_(other,p2__13772_SHARP_);
if(or__8782__auto__){
return or__8782__auto__;
} else {
return cljs.core.reduced(false);
}
});})(coll__$1))
,true,self__.tree_map));
});
cljs.core.PersistentTreeSet.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return (new cljs.core.PersistentTreeSet(self__.meta,cljs.core._empty(self__.tree_map),(0)));
});
cljs.core.PersistentTreeSet.prototype.cljs$core$ISet$_disjoin$arity$2 = (function (coll,v){
var self__ = this;
var coll__$1 = this;
return (new cljs.core.PersistentTreeSet(self__.meta,cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(self__.tree_map,v),null));
});
cljs.core.PersistentTreeSet.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return cljs.core.keys(self__.tree_map);
});
cljs.core.PersistentTreeSet.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (coll,meta__$1){
var self__ = this;
var coll__$1 = this;
return (new cljs.core.PersistentTreeSet(meta__$1,self__.tree_map,self__.__hash));
});
cljs.core.PersistentTreeSet.prototype.cljs$core$ICollection$_conj$arity$2 = (function (coll,o){
var self__ = this;
var coll__$1 = this;
return (new cljs.core.PersistentTreeSet(self__.meta,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(self__.tree_map,o,null),null));
});
cljs.core.PersistentTreeSet.prototype.call = (function() {
var G__13797 = null;
var G__13797__2 = (function (self__,k){
var self__ = this;
var self____$1 = this;
var coll = self____$1;
return coll.cljs$core$ILookup$_lookup$arity$2(null,k);
});
var G__13797__3 = (function (self__,k,not_found){
var self__ = this;
var self____$1 = this;
var coll = self____$1;
return coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);
});
G__13797 = function(self__,k,not_found){
switch(arguments.length){
case 2:
return G__13797__2.call(this,self__,k);
case 3:
return G__13797__3.call(this,self__,k,not_found);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13797.cljs$core$IFn$_invoke$arity$2 = G__13797__2;
G__13797.cljs$core$IFn$_invoke$arity$3 = G__13797__3;
return G__13797;
})()
;
cljs.core.PersistentTreeSet.prototype.apply = (function (self__,args13774){
var self__ = this;
var self____$1 = this;
return self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args13774)));
});
cljs.core.PersistentTreeSet.prototype.cljs$core$IFn$_invoke$arity$1 = (function (k){
var self__ = this;
var coll = this;
return coll.cljs$core$ILookup$_lookup$arity$2(null,k);
});
cljs.core.PersistentTreeSet.prototype.cljs$core$IFn$_invoke$arity$2 = (function (k,not_found){
var self__ = this;
var coll = this;
return coll.cljs$core$ILookup$_lookup$arity$3(null,k,not_found);
});
cljs.core.PersistentTreeSet.prototype.cljs$core$ISorted$_sorted_seq$arity$2 = (function (coll,ascending_QMARK_){
var self__ = this;
var coll__$1 = this;
return cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.key,cljs.core._sorted_seq(self__.tree_map,ascending_QMARK_));
});
cljs.core.PersistentTreeSet.prototype.cljs$core$ISorted$_sorted_seq_from$arity$3 = (function (coll,k,ascending_QMARK_){
var self__ = this;
var coll__$1 = this;
return cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.key,cljs.core._sorted_seq_from(self__.tree_map,k,ascending_QMARK_));
});
cljs.core.PersistentTreeSet.prototype.cljs$core$ISorted$_entry_key$arity$2 = (function (coll,entry){
var self__ = this;
var coll__$1 = this;
return entry;
});
cljs.core.PersistentTreeSet.prototype.cljs$core$ISorted$_comparator$arity$1 = (function (coll){
var self__ = this;
var coll__$1 = this;
return cljs.core._comparator(self__.tree_map);
});
cljs.core.PersistentTreeSet.getBasis = (function (){
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$meta,cljs.core.cst$sym$tree_DASH_map,cljs.core.with_meta(cljs.core.cst$sym$__hash,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null))], null);
});
cljs.core.PersistentTreeSet.cljs$lang$type = true;
cljs.core.PersistentTreeSet.cljs$lang$ctorStr = "cljs.core/PersistentTreeSet";
cljs.core.PersistentTreeSet.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/PersistentTreeSet");
});
cljs.core.__GT_PersistentTreeSet = (function cljs$core$__GT_PersistentTreeSet(meta,tree_map,__hash){
return (new cljs.core.PersistentTreeSet(meta,tree_map,__hash));
});
cljs.core.PersistentTreeSet.EMPTY = (new cljs.core.PersistentTreeSet(null,cljs.core.PersistentTreeMap.EMPTY,cljs.core.empty_unordered_hash));
var G__13798_13801 = cljs.core.PersistentTreeSet.prototype;
var G__13799_13802 = cljs.core.ITER_SYMBOL;
var G__13800_13803 = ((function (G__13798_13801,G__13799_13802){
return (function (){
var this__9929__auto__ = this;
return cljs.core.es6_iterator(this__9929__auto__);
});})(G__13798_13801,G__13799_13802))
;
goog.object.set(G__13798_13801,G__13799_13802,G__13800_13803);
cljs.core.set_from_indexed_seq = (function cljs$core$set_from_indexed_seq(iseq){
var arr = iseq.arr;
var ret = (function (){var a__9820__auto__ = arr;
var l__9821__auto__ = a__9820__auto__.length;
var i = (0);
var res = cljs.core._as_transient(cljs.core.PersistentHashSet.EMPTY);
while(true){
if((i < l__9821__auto__)){
var G__13804 = (i + (1));
var G__13805 = res.cljs$core$ITransientCollection$_conj_BANG_$arity$2(null,(arr[i]));
i = G__13804;
res = G__13805;
continue;
} else {
return res;
}
break;
}
})();
return ret.cljs$core$ITransientCollection$_persistent_BANG_$arity$1(null);
});
/**
* Returns a set of the distinct elements of coll.
*/
cljs.core.set = (function cljs$core$set(coll){
var in$ = cljs.core.seq(coll);
if((in$ == null)){
return cljs.core.PersistentHashSet.EMPTY;
} else {
if(((in$ instanceof cljs.core.IndexedSeq)) && ((in$.i === (0)))){
return cljs.core.PersistentHashSet.createAsIfByAssoc(in$.arr);
} else {
var in$__$1 = in$;
var out = cljs.core._as_transient(cljs.core.PersistentHashSet.EMPTY);
while(true){
if(!((in$__$1 == null))){
var G__13806 = cljs.core.next(in$__$1);
var G__13807 = out.cljs$core$ITransientCollection$_conj_BANG_$arity$2(null,in$__$1.cljs$core$ISeq$_first$arity$1(null));
in$__$1 = G__13806;
out = G__13807;
continue;
} else {
return cljs.core.persistent_BANG_(out);
}
break;
}
}
}
});
/**
* Returns a new hash set with supplied keys. Any equal keys are
* handled as if by repeated uses of conj.
*/
cljs.core.hash_set = (function cljs$core$hash_set(var_args){
var G__13810 = arguments.length;
switch (G__13810) {
case 0:
return cljs.core.hash_set.cljs$core$IFn$_invoke$arity$0();
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___13812 = arguments.length;
var i__10062__auto___13813 = (0);
while(true){
if((i__10062__auto___13813 < len__10061__auto___13812)){
args_arr__10084__auto__.push((arguments[i__10062__auto___13813]));
var G__13814 = (i__10062__auto___13813 + (1));
i__10062__auto___13813 = G__13814;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((0)),(0),null));
return cljs.core.hash_set.cljs$core$IFn$_invoke$arity$variadic(argseq__10085__auto__);
}
});
cljs.core.hash_set.cljs$core$IFn$_invoke$arity$0 = (function (){
return cljs.core.PersistentHashSet.EMPTY;
});
cljs.core.hash_set.cljs$core$IFn$_invoke$arity$variadic = (function (keys){
return cljs.core.set(keys);
});
cljs.core.hash_set.cljs$lang$applyTo = (function (seq13809){
return cljs.core.hash_set.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq13809));
});
cljs.core.hash_set.cljs$lang$maxFixedArity = (0);
/**
* Returns a new sorted set with supplied keys.
*/
cljs.core.sorted_set = (function cljs$core$sorted_set(var_args){
var args__10068__auto__ = [];
var len__10061__auto___13816 = arguments.length;
var i__10062__auto___13817 = (0);
while(true){
if((i__10062__auto___13817 < len__10061__auto___13816)){
args__10068__auto__.push((arguments[i__10062__auto___13817]));
var G__13818 = (i__10062__auto___13817 + (1));
i__10062__auto___13817 = G__13818;
continue;
} else {
}
break;
}
var argseq__10069__auto__ = ((((0) < args__10068__auto__.length))?(new cljs.core.IndexedSeq(args__10068__auto__.slice((0)),(0),null)):null);
return cljs.core.sorted_set.cljs$core$IFn$_invoke$arity$variadic(argseq__10069__auto__);
});
cljs.core.sorted_set.cljs$core$IFn$_invoke$arity$variadic = (function (keys){
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,cljs.core.PersistentTreeSet.EMPTY,keys);
});
cljs.core.sorted_set.cljs$lang$maxFixedArity = (0);
cljs.core.sorted_set.cljs$lang$applyTo = (function (seq13815){
return cljs.core.sorted_set.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq13815));
});
/**
* Returns a new sorted set with supplied keys, using the supplied comparator.
*/
cljs.core.sorted_set_by = (function cljs$core$sorted_set_by(var_args){
var args__10068__auto__ = [];
var len__10061__auto___13821 = arguments.length;
var i__10062__auto___13822 = (0);
while(true){
if((i__10062__auto___13822 < len__10061__auto___13821)){
args__10068__auto__.push((arguments[i__10062__auto___13822]));
var G__13823 = (i__10062__auto___13822 + (1));
i__10062__auto___13822 = G__13823;
continue;
} else {
}
break;
}
var argseq__10069__auto__ = ((((1) < args__10068__auto__.length))?(new cljs.core.IndexedSeq(args__10068__auto__.slice((1)),(0),null)):null);
return cljs.core.sorted_set_by.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__10069__auto__);
});
cljs.core.sorted_set_by.cljs$core$IFn$_invoke$arity$variadic = (function (comparator,keys){
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core._conj,(new cljs.core.PersistentTreeSet(null,cljs.core.sorted_map_by(comparator),(0))),keys);
});
cljs.core.sorted_set_by.cljs$lang$maxFixedArity = (1);
cljs.core.sorted_set_by.cljs$lang$applyTo = (function (seq13819){
var G__13820 = cljs.core.first(seq13819);
var seq13819__$1 = cljs.core.next(seq13819);
return cljs.core.sorted_set_by.cljs$core$IFn$_invoke$arity$variadic(G__13820,seq13819__$1);
});
/**
* Given a map of replacement pairs and a vector/collection, returns a
* vector/seq with any elements = a key in smap replaced with the
* corresponding val in smap. Returns a transducer when no collection
* is provided.
*/
cljs.core.replace = (function cljs$core$replace(var_args){
var G__13827 = arguments.length;
switch (G__13827) {
case 1:
return cljs.core.replace.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.replace.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.replace.cljs$core$IFn$_invoke$arity$1 = (function (smap){
return cljs.core.map.cljs$core$IFn$_invoke$arity$1((function (p1__13824_SHARP_){
var temp__5455__auto__ = cljs.core.find(smap,p1__13824_SHARP_);
if(cljs.core.truth_(temp__5455__auto__)){
var e = temp__5455__auto__;
return cljs.core.val(e);
} else {
return p1__13824_SHARP_;
}
}));
});
cljs.core.replace.cljs$core$IFn$_invoke$arity$2 = (function (smap,coll){
if(cljs.core.vector_QMARK_(coll)){
var n = cljs.core.count(coll);
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(((function (n){
return (function (v,i){
var temp__5455__auto__ = cljs.core.find(smap,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(v,i));
if(cljs.core.truth_(temp__5455__auto__)){
var e = temp__5455__auto__;
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(v,i,cljs.core.second(e));
} else {
return v;
}
});})(n))
,coll,cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,cljs.core.iterate(cljs.core.inc,(0))));
} else {
return cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__13825_SHARP_){
var temp__5455__auto__ = cljs.core.find(smap,p1__13825_SHARP_);
if(cljs.core.truth_(temp__5455__auto__)){
var e = temp__5455__auto__;
return cljs.core.second(e);
} else {
return p1__13825_SHARP_;
}
}),coll);
}
});
cljs.core.replace.cljs$lang$maxFixedArity = 2;
/**
* Returns a lazy sequence of the elements of coll with duplicates removed.
* Returns a stateful transducer when no collection is provided.
*/
cljs.core.distinct = (function cljs$core$distinct(var_args){
var G__13830 = arguments.length;
switch (G__13830) {
case 0:
return cljs.core.distinct.cljs$core$IFn$_invoke$arity$0();
break;
case 1:
return cljs.core.distinct.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.distinct.cljs$core$IFn$_invoke$arity$0 = (function (){
return (function (rf){
var seen = cljs.core.volatile_BANG_(cljs.core.PersistentHashSet.EMPTY);
return ((function (seen){
return (function() {
var G__13841 = null;
var G__13841__0 = (function (){
return (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));
});
var G__13841__1 = (function (result){
return (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));
});
var G__13841__2 = (function (result,input){
if(cljs.core.contains_QMARK_(cljs.core.deref(seen),input)){
return result;
} else {
cljs.core._vreset_BANG_(seen,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core._deref(seen),input));
return (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));
}
});
G__13841 = function(result,input){
switch(arguments.length){
case 0:
return G__13841__0.call(this);
case 1:
return G__13841__1.call(this,result);
case 2:
return G__13841__2.call(this,result,input);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13841.cljs$core$IFn$_invoke$arity$0 = G__13841__0;
G__13841.cljs$core$IFn$_invoke$arity$1 = G__13841__1;
G__13841.cljs$core$IFn$_invoke$arity$2 = G__13841__2;
return G__13841;
})()
;})(seen))
});
});
cljs.core.distinct.cljs$core$IFn$_invoke$arity$1 = (function (coll){
var step = (function cljs$core$step(xs,seen){
return (new cljs.core.LazySeq(null,(function (){
var fexpr__13835 = (function (p__13836,seen__$1){
while(true){
var vec__13837 = p__13836;
var f = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__13837,(0),null);
var xs__$1 = vec__13837;
var temp__5457__auto__ = cljs.core.seq(xs__$1);
if(temp__5457__auto__){
var s = temp__5457__auto__;
if(cljs.core.contains_QMARK_(seen__$1,f)){
var G__13842 = cljs.core.rest(s);
var G__13843 = seen__$1;
p__13836 = G__13842;
seen__$1 = G__13843;
continue;
} else {
return cljs.core.cons(f,cljs$core$step(cljs.core.rest(s),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(seen__$1,f)));
}
} else {
return null;
}
break;
}
});
return fexpr__13835(xs,seen);
}),null,null));
});
return step(coll,cljs.core.PersistentHashSet.EMPTY);
});
cljs.core.distinct.cljs$lang$maxFixedArity = 1;
/**
* Return a seq of all but the last item in coll, in linear time
*/
cljs.core.butlast = (function cljs$core$butlast(s){
var ret = cljs.core.PersistentVector.EMPTY;
var s__$1 = s;
while(true){
if(cljs.core.next(s__$1)){
var G__13844 = cljs.core.conj.cljs$core$IFn$_invoke$arity$2(ret,cljs.core.first(s__$1));
var G__13845 = cljs.core.next(s__$1);
ret = G__13844;
s__$1 = G__13845;
continue;
} else {
return cljs.core.seq(ret);
}
break;
}
});
/**
* Returns the name String of a string, symbol or keyword.
*/
cljs.core.name = (function cljs$core$name(x){
if(((!((x == null)))?((((x.cljs$lang$protocol_mask$partition1$ & (4096))) || ((cljs.core.PROTOCOL_SENTINEL === x.cljs$core$INamed$)))?true:false):false)){
return x.cljs$core$INamed$_name$arity$1(null);
} else {
if(typeof x === 'string'){
return x;
} else {
throw (new Error(["Doesn't support name: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(x)].join('')));
}
}
});
/**
* Returns a map with the keys mapped to the corresponding vals.
*/
cljs.core.zipmap = (function cljs$core$zipmap(keys,vals){
var map = cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY);
var ks = cljs.core.seq(keys);
var vs = cljs.core.seq(vals);
while(true){
if((ks) && (vs)){
var G__13847 = cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(map,cljs.core.first(ks),cljs.core.first(vs));
var G__13848 = cljs.core.next(ks);
var G__13849 = cljs.core.next(vs);
map = G__13847;
ks = G__13848;
vs = G__13849;
continue;
} else {
return cljs.core.persistent_BANG_(map);
}
break;
}
});
/**
* Returns the x for which (k x), a number, is greatest.
*/
cljs.core.max_key = (function cljs$core$max_key(var_args){
var G__13857 = arguments.length;
switch (G__13857) {
case 2:
return cljs.core.max_key.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.max_key.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___13859 = arguments.length;
var i__10062__auto___13860 = (0);
while(true){
if((i__10062__auto___13860 < len__10061__auto___13859)){
args_arr__10084__auto__.push((arguments[i__10062__auto___13860]));
var G__13861 = (i__10062__auto___13860 + (1));
i__10062__auto___13860 = G__13861;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((3)),(0),null));
return cljs.core.max_key.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__10085__auto__);
}
});
cljs.core.max_key.cljs$core$IFn$_invoke$arity$2 = (function (k,x){
return x;
});
cljs.core.max_key.cljs$core$IFn$_invoke$arity$3 = (function (k,x,y){
if(((k.cljs$core$IFn$_invoke$arity$1 ? k.cljs$core$IFn$_invoke$arity$1(x) : k.call(null,x)) > (k.cljs$core$IFn$_invoke$arity$1 ? k.cljs$core$IFn$_invoke$arity$1(y) : k.call(null,y)))){
return x;
} else {
return y;
}
});
cljs.core.max_key.cljs$core$IFn$_invoke$arity$variadic = (function (k,x,y,more){
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__13850_SHARP_,p2__13851_SHARP_){
return cljs.core.max_key.cljs$core$IFn$_invoke$arity$3(k,p1__13850_SHARP_,p2__13851_SHARP_);
}),cljs.core.max_key.cljs$core$IFn$_invoke$arity$3(k,x,y),more);
});
cljs.core.max_key.cljs$lang$applyTo = (function (seq13853){
var G__13854 = cljs.core.first(seq13853);
var seq13853__$1 = cljs.core.next(seq13853);
var G__13855 = cljs.core.first(seq13853__$1);
var seq13853__$2 = cljs.core.next(seq13853__$1);
var G__13856 = cljs.core.first(seq13853__$2);
var seq13853__$3 = cljs.core.next(seq13853__$2);
return cljs.core.max_key.cljs$core$IFn$_invoke$arity$variadic(G__13854,G__13855,G__13856,seq13853__$3);
});
cljs.core.max_key.cljs$lang$maxFixedArity = (3);
/**
* Returns the x for which (k x), a number, is least.
*/
cljs.core.min_key = (function cljs$core$min_key(var_args){
var G__13869 = arguments.length;
switch (G__13869) {
case 2:
return cljs.core.min_key.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.min_key.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___13871 = arguments.length;
var i__10062__auto___13872 = (0);
while(true){
if((i__10062__auto___13872 < len__10061__auto___13871)){
args_arr__10084__auto__.push((arguments[i__10062__auto___13872]));
var G__13873 = (i__10062__auto___13872 + (1));
i__10062__auto___13872 = G__13873;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((3)),(0),null));
return cljs.core.min_key.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__10085__auto__);
}
});
cljs.core.min_key.cljs$core$IFn$_invoke$arity$2 = (function (k,x){
return x;
});
cljs.core.min_key.cljs$core$IFn$_invoke$arity$3 = (function (k,x,y){
if(((k.cljs$core$IFn$_invoke$arity$1 ? k.cljs$core$IFn$_invoke$arity$1(x) : k.call(null,x)) < (k.cljs$core$IFn$_invoke$arity$1 ? k.cljs$core$IFn$_invoke$arity$1(y) : k.call(null,y)))){
return x;
} else {
return y;
}
});
cljs.core.min_key.cljs$core$IFn$_invoke$arity$variadic = (function (k,x,y,more){
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__13862_SHARP_,p2__13863_SHARP_){
return cljs.core.min_key.cljs$core$IFn$_invoke$arity$3(k,p1__13862_SHARP_,p2__13863_SHARP_);
}),cljs.core.min_key.cljs$core$IFn$_invoke$arity$3(k,x,y),more);
});
cljs.core.min_key.cljs$lang$applyTo = (function (seq13865){
var G__13866 = cljs.core.first(seq13865);
var seq13865__$1 = cljs.core.next(seq13865);
var G__13867 = cljs.core.first(seq13865__$1);
var seq13865__$2 = cljs.core.next(seq13865__$1);
var G__13868 = cljs.core.first(seq13865__$2);
var seq13865__$3 = cljs.core.next(seq13865__$2);
return cljs.core.min_key.cljs$core$IFn$_invoke$arity$variadic(G__13866,G__13867,G__13868,seq13865__$3);
});
cljs.core.min_key.cljs$lang$maxFixedArity = (3);
/**
* @constructor
*/
cljs.core.ArrayList = (function (arr){
this.arr = arr;
});
cljs.core.ArrayList.prototype.add = (function (x){
var self__ = this;
var _ = this;
return self__.arr.push(x);
});
cljs.core.ArrayList.prototype.size = (function (){
var self__ = this;
var _ = this;
return self__.arr.length;
});
cljs.core.ArrayList.prototype.clear = (function (){
var self__ = this;
var _ = this;
return self__.arr = [];
});
cljs.core.ArrayList.prototype.isEmpty = (function (){
var self__ = this;
var _ = this;
return (self__.arr.length === (0));
});
cljs.core.ArrayList.prototype.toArray = (function (){
var self__ = this;
var _ = this;
return self__.arr;
});
cljs.core.ArrayList.getBasis = (function (){
return new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(cljs.core.cst$sym$arr,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null))], null);
});
cljs.core.ArrayList.cljs$lang$type = true;
cljs.core.ArrayList.cljs$lang$ctorStr = "cljs.core/ArrayList";
cljs.core.ArrayList.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/ArrayList");
});
cljs.core.__GT_ArrayList = (function cljs$core$__GT_ArrayList(arr){
return (new cljs.core.ArrayList(arr));
});
cljs.core.array_list = (function cljs$core$array_list(){
return (new cljs.core.ArrayList([]));
});
/**
* Returns a lazy sequence of lists like partition, but may include
* partitions with fewer than n items at the end. Returns a stateful
* transducer when no collection is provided.
*/
cljs.core.partition_all = (function cljs$core$partition_all(var_args){
var G__13875 = arguments.length;
switch (G__13875) {
case 1:
return cljs.core.partition_all.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.partition_all.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.partition_all.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.partition_all.cljs$core$IFn$_invoke$arity$1 = (function (n){
return (function (rf){
var a = cljs.core.array_list();
return ((function (a){
return (function() {
var G__13877 = null;
var G__13877__0 = (function (){
return (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));
});
var G__13877__1 = (function (result){
var result__$1 = (cljs.core.truth_(a.isEmpty())?result:(function (){var v = cljs.core.vec(a.toArray());
a.clear();
return cljs.core.unreduced((rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,v) : rf.call(null,result,v)));
})());
return (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result__$1) : rf.call(null,result__$1));
});
var G__13877__2 = (function (result,input){
a.add(input);
if((n === a.size())){
var v = cljs.core.vec(a.toArray());
a.clear();
return (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,v) : rf.call(null,result,v));
} else {
return result;
}
});
G__13877 = function(result,input){
switch(arguments.length){
case 0:
return G__13877__0.call(this);
case 1:
return G__13877__1.call(this,result);
case 2:
return G__13877__2.call(this,result,input);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13877.cljs$core$IFn$_invoke$arity$0 = G__13877__0;
G__13877.cljs$core$IFn$_invoke$arity$1 = G__13877__1;
G__13877.cljs$core$IFn$_invoke$arity$2 = G__13877__2;
return G__13877;
})()
;})(a))
});
});
cljs.core.partition_all.cljs$core$IFn$_invoke$arity$2 = (function (n,coll){
return cljs.core.partition_all.cljs$core$IFn$_invoke$arity$3(n,n,coll);
});
cljs.core.partition_all.cljs$core$IFn$_invoke$arity$3 = (function (n,step,coll){
return (new cljs.core.LazySeq(null,(function (){
var temp__5457__auto__ = cljs.core.seq(coll);
if(temp__5457__auto__){
var s = temp__5457__auto__;
return cljs.core.cons(cljs.core.take.cljs$core$IFn$_invoke$arity$2(n,s),cljs.core.partition_all.cljs$core$IFn$_invoke$arity$3(n,step,cljs.core.drop.cljs$core$IFn$_invoke$arity$2(step,s)));
} else {
return null;
}
}),null,null));
});
cljs.core.partition_all.cljs$lang$maxFixedArity = 3;
/**
* Returns a lazy sequence of successive items from coll while
* (pred item) returns true. pred must be free of side-effects.
* Returns a transducer when no collection is provided.
*/
cljs.core.take_while = (function cljs$core$take_while(var_args){
var G__13879 = arguments.length;
switch (G__13879) {
case 1:
return cljs.core.take_while.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.take_while.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.take_while.cljs$core$IFn$_invoke$arity$1 = (function (pred){
return (function (rf){
return (function() {
var G__13882 = null;
var G__13882__0 = (function (){
return (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));
});
var G__13882__1 = (function (result){
return (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));
});
var G__13882__2 = (function (result,input){
if(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(input) : pred.call(null,input)))){
return (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));
} else {
return cljs.core.reduced(result);
}
});
G__13882 = function(result,input){
switch(arguments.length){
case 0:
return G__13882__0.call(this);
case 1:
return G__13882__1.call(this,result);
case 2:
return G__13882__2.call(this,result,input);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13882.cljs$core$IFn$_invoke$arity$0 = G__13882__0;
G__13882.cljs$core$IFn$_invoke$arity$1 = G__13882__1;
G__13882.cljs$core$IFn$_invoke$arity$2 = G__13882__2;
return G__13882;
})()
});
});
cljs.core.take_while.cljs$core$IFn$_invoke$arity$2 = (function (pred,coll){
return (new cljs.core.LazySeq(null,(function (){
var temp__5457__auto__ = cljs.core.seq(coll);
if(temp__5457__auto__){
var s = temp__5457__auto__;
if(cljs.core.truth_((function (){var G__13880 = cljs.core.first(s);
return (pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(G__13880) : pred.call(null,G__13880));
})())){
return cljs.core.cons(cljs.core.first(s),cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(pred,cljs.core.rest(s)));
} else {
return null;
}
} else {
return null;
}
}),null,null));
});
cljs.core.take_while.cljs$lang$maxFixedArity = 2;
cljs.core.mk_bound_fn = (function cljs$core$mk_bound_fn(sc,test,key){
return (function (e){
var comp = cljs.core._comparator(sc);
var G__13883 = (function (){var G__13885 = cljs.core._entry_key(sc,e);
var G__13886 = key;
return (comp.cljs$core$IFn$_invoke$arity$2 ? comp.cljs$core$IFn$_invoke$arity$2(G__13885,G__13886) : comp.call(null,G__13885,G__13886));
})();
var G__13884 = (0);
return (test.cljs$core$IFn$_invoke$arity$2 ? test.cljs$core$IFn$_invoke$arity$2(G__13883,G__13884) : test.call(null,G__13883,G__13884));
});
});
/**
* sc must be a sorted collection, test(s) one of <, <=, > or
* >=. Returns a seq of those entries with keys ek for
* which (test (.. sc comparator (compare ek key)) 0) is true
*/
cljs.core.subseq = (function cljs$core$subseq(var_args){
var G__13888 = arguments.length;
switch (G__13888) {
case 3:
return cljs.core.subseq.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
case 5:
return cljs.core.subseq.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.subseq.cljs$core$IFn$_invoke$arity$3 = (function (sc,test,key){
var include = cljs.core.mk_bound_fn(sc,test,key);
if(cljs.core.truth_((function (){var fexpr__13889 = cljs.core.PersistentHashSet.createAsIfByAssoc([cljs.core._GT_,cljs.core._GT__EQ_]);
return (fexpr__13889.cljs$core$IFn$_invoke$arity$1 ? fexpr__13889.cljs$core$IFn$_invoke$arity$1(test) : fexpr__13889.call(null,test));
})())){
var temp__5457__auto__ = cljs.core._sorted_seq_from(sc,key,true);
if(cljs.core.truth_(temp__5457__auto__)){
var vec__13890 = temp__5457__auto__;
var e = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__13890,(0),null);
var s = vec__13890;
if(cljs.core.truth_((include.cljs$core$IFn$_invoke$arity$1 ? include.cljs$core$IFn$_invoke$arity$1(e) : include.call(null,e)))){
return s;
} else {
return cljs.core.next(s);
}
} else {
return null;
}
} else {
return cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(include,cljs.core._sorted_seq(sc,true));
}
});
cljs.core.subseq.cljs$core$IFn$_invoke$arity$5 = (function (sc,start_test,start_key,end_test,end_key){
var temp__5457__auto__ = cljs.core._sorted_seq_from(sc,start_key,true);
if(cljs.core.truth_(temp__5457__auto__)){
var vec__13893 = temp__5457__auto__;
var e = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__13893,(0),null);
var s = vec__13893;
return cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(cljs.core.mk_bound_fn(sc,end_test,end_key),(cljs.core.truth_((function (){var fexpr__13896 = cljs.core.mk_bound_fn(sc,start_test,start_key);
return (fexpr__13896.cljs$core$IFn$_invoke$arity$1 ? fexpr__13896.cljs$core$IFn$_invoke$arity$1(e) : fexpr__13896.call(null,e));
})())?s:cljs.core.next(s)));
} else {
return null;
}
});
cljs.core.subseq.cljs$lang$maxFixedArity = 5;
/**
* sc must be a sorted collection, test(s) one of <, <=, > or
* >=. Returns a reverse seq of those entries with keys ek for
* which (test (.. sc comparator (compare ek key)) 0) is true
*/
cljs.core.rsubseq = (function cljs$core$rsubseq(var_args){
var G__13899 = arguments.length;
switch (G__13899) {
case 3:
return cljs.core.rsubseq.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
case 5:
return cljs.core.rsubseq.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.rsubseq.cljs$core$IFn$_invoke$arity$3 = (function (sc,test,key){
var include = cljs.core.mk_bound_fn(sc,test,key);
if(cljs.core.truth_((function (){var fexpr__13900 = cljs.core.PersistentHashSet.createAsIfByAssoc([cljs.core._LT_,cljs.core._LT__EQ_]);
return (fexpr__13900.cljs$core$IFn$_invoke$arity$1 ? fexpr__13900.cljs$core$IFn$_invoke$arity$1(test) : fexpr__13900.call(null,test));
})())){
var temp__5457__auto__ = cljs.core._sorted_seq_from(sc,key,false);
if(cljs.core.truth_(temp__5457__auto__)){
var vec__13901 = temp__5457__auto__;
var e = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__13901,(0),null);
var s = vec__13901;
if(cljs.core.truth_((include.cljs$core$IFn$_invoke$arity$1 ? include.cljs$core$IFn$_invoke$arity$1(e) : include.call(null,e)))){
return s;
} else {
return cljs.core.next(s);
}
} else {
return null;
}
} else {
return cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(include,cljs.core._sorted_seq(sc,false));
}
});
cljs.core.rsubseq.cljs$core$IFn$_invoke$arity$5 = (function (sc,start_test,start_key,end_test,end_key){
var temp__5457__auto__ = cljs.core._sorted_seq_from(sc,end_key,false);
if(cljs.core.truth_(temp__5457__auto__)){
var vec__13904 = temp__5457__auto__;
var e = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__13904,(0),null);
var s = vec__13904;
return cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(cljs.core.mk_bound_fn(sc,start_test,start_key),(cljs.core.truth_((function (){var fexpr__13907 = cljs.core.mk_bound_fn(sc,end_test,end_key);
return (fexpr__13907.cljs$core$IFn$_invoke$arity$1 ? fexpr__13907.cljs$core$IFn$_invoke$arity$1(e) : fexpr__13907.call(null,e));
})())?s:cljs.core.next(s)));
} else {
return null;
}
});
cljs.core.rsubseq.cljs$lang$maxFixedArity = 5;
/**
* @constructor
*/
cljs.core.RangeIterator = (function (i,end,step){
this.i = i;
this.end = end;
this.step = step;
});
cljs.core.RangeIterator.prototype.hasNext = (function (){
var self__ = this;
var _ = this;
if((self__.step > (0))){
return (self__.i < self__.end);
} else {
return (self__.i > self__.end);
}
});
cljs.core.RangeIterator.prototype.next = (function (){
var self__ = this;
var _ = this;
var ret = self__.i;
self__.i = (self__.i + self__.step);
return ret;
});
cljs.core.RangeIterator.getBasis = (function (){
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(cljs.core.cst$sym$i,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null)),cljs.core.cst$sym$end,cljs.core.cst$sym$step], null);
});
cljs.core.RangeIterator.cljs$lang$type = true;
cljs.core.RangeIterator.cljs$lang$ctorStr = "cljs.core/RangeIterator";
cljs.core.RangeIterator.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/RangeIterator");
});
cljs.core.__GT_RangeIterator = (function cljs$core$__GT_RangeIterator(i,end,step){
return (new cljs.core.RangeIterator(i,end,step));
});
/**
* @constructor
* @implements {cljs.core.IIndexed}
* @implements {cljs.core.IEquiv}
* @implements {cljs.core.IHash}
* @implements {cljs.core.ICollection}
* @implements {cljs.core.IEmptyableCollection}
* @implements {cljs.core.ICounted}
* @implements {cljs.core.ISeq}
* @implements {cljs.core.INext}
* @implements {cljs.core.ISeqable}
* @implements {cljs.core.IMeta}
* @implements {cljs.core.ICloneable}
* @implements {cljs.core.IIterable}
* @implements {cljs.core.ISequential}
* @implements {cljs.core.IWithMeta}
* @implements {cljs.core.IReduce}
*/
cljs.core.Range = (function (meta,start,end,step,__hash){
this.meta = meta;
this.start = start;
this.end = end;
this.step = step;
this.__hash = __hash;
this.cljs$lang$protocol_mask$partition0$ = 32375006;
this.cljs$lang$protocol_mask$partition1$ = 139264;
});
cljs.core.Range.prototype.toString = (function (){
var self__ = this;
var coll = this;
return cljs.core.pr_str_STAR_(coll);
});
cljs.core.Range.prototype.equiv = (function (other){
var self__ = this;
var this$ = this;
return this$.cljs$core$IEquiv$_equiv$arity$2(null,other);
});
cljs.core.Range.prototype.indexOf = (function() {
var G__13910 = null;
var G__13910__1 = (function (x){
var self__ = this;
var coll = this;
return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,(0));
});
var G__13910__2 = (function (x,start__$1){
var self__ = this;
var coll = this;
return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start__$1);
});
G__13910 = function(x,start__$1){
switch(arguments.length){
case 1:
return G__13910__1.call(this,x);
case 2:
return G__13910__2.call(this,x,start__$1);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13910.cljs$core$IFn$_invoke$arity$1 = G__13910__1;
G__13910.cljs$core$IFn$_invoke$arity$2 = G__13910__2;
return G__13910;
})()
;
cljs.core.Range.prototype.lastIndexOf = (function() {
var G__13911 = null;
var G__13911__1 = (function (x){
var self__ = this;
var coll = this;
return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,cljs.core.count(coll));
});
var G__13911__2 = (function (x,start__$1){
var self__ = this;
var coll = this;
return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll,x,start__$1);
});
G__13911 = function(x,start__$1){
switch(arguments.length){
case 1:
return G__13911__1.call(this,x);
case 2:
return G__13911__2.call(this,x,start__$1);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13911.cljs$core$IFn$_invoke$arity$1 = G__13911__1;
G__13911.cljs$core$IFn$_invoke$arity$2 = G__13911__2;
return G__13911;
})()
;
cljs.core.Range.prototype.cljs$core$IIndexed$_nth$arity$2 = (function (rng,n){
var self__ = this;
var rng__$1 = this;
if((((0) <= n)) && ((n < rng__$1.cljs$core$ICounted$_count$arity$1(null)))){
return (self__.start + (n * self__.step));
} else {
if((((0) <= n)) && ((self__.start > self__.end)) && ((self__.step === (0)))){
return self__.start;
} else {
throw (new Error("Index out of bounds"));
}
}
});
cljs.core.Range.prototype.cljs$core$IIndexed$_nth$arity$3 = (function (rng,n,not_found){
var self__ = this;
var rng__$1 = this;
if((((0) <= n)) && ((n < rng__$1.cljs$core$ICounted$_count$arity$1(null)))){
return (self__.start + (n * self__.step));
} else {
if((((0) <= n)) && ((self__.start > self__.end)) && ((self__.step === (0)))){
return self__.start;
} else {
return not_found;
}
}
});
cljs.core.Range.prototype.cljs$core$IIterable$_iterator$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return (new cljs.core.RangeIterator(self__.start,self__.end,self__.step));
});
cljs.core.Range.prototype.cljs$core$IMeta$_meta$arity$1 = (function (rng){
var self__ = this;
var rng__$1 = this;
return self__.meta;
});
cljs.core.Range.prototype.cljs$core$ICloneable$_clone$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return (new cljs.core.Range(self__.meta,self__.start,self__.end,self__.step,self__.__hash));
});
cljs.core.Range.prototype.cljs$core$INext$_next$arity$1 = (function (rng){
var self__ = this;
var rng__$1 = this;
if((self__.step > (0))){
if(((self__.start + self__.step) < self__.end)){
return (new cljs.core.Range(self__.meta,(self__.start + self__.step),self__.end,self__.step,null));
} else {
return null;
}
} else {
if(((self__.start + self__.step) > self__.end)){
return (new cljs.core.Range(self__.meta,(self__.start + self__.step),self__.end,self__.step,null));
} else {
return null;
}
}
});
cljs.core.Range.prototype.cljs$core$ICounted$_count$arity$1 = (function (rng){
var self__ = this;
var rng__$1 = this;
if(cljs.core.not(rng__$1.cljs$core$ISeqable$_seq$arity$1(null))){
return (0);
} else {
var G__13909 = ((self__.end - self__.start) / self__.step);
return Math.ceil(G__13909);
}
});
cljs.core.Range.prototype.cljs$core$IHash$_hash$arity$1 = (function (rng){
var self__ = this;
var rng__$1 = this;
var h__9238__auto__ = self__.__hash;
if(!((h__9238__auto__ == null))){
return h__9238__auto__;
} else {
var h__9238__auto____$1 = cljs.core.hash_ordered_coll(rng__$1);
self__.__hash = h__9238__auto____$1;
return h__9238__auto____$1;
}
});
cljs.core.Range.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (rng,other){
var self__ = this;
var rng__$1 = this;
return cljs.core.equiv_sequential(rng__$1,other);
});
cljs.core.Range.prototype.cljs$core$IEmptyableCollection$_empty$arity$1 = (function (rng){
var self__ = this;
var rng__$1 = this;
return cljs.core._with_meta(cljs.core.List.EMPTY,self__.meta);
});
cljs.core.Range.prototype.cljs$core$IReduce$_reduce$arity$2 = (function (rng,f){
var self__ = this;
var rng__$1 = this;
return cljs.core.ci_reduce.cljs$core$IFn$_invoke$arity$2(rng__$1,f);
});
cljs.core.Range.prototype.cljs$core$IReduce$_reduce$arity$3 = (function (rng,f,init){
var self__ = this;
var rng__$1 = this;
var i = self__.start;
var ret = init;
while(true){
if((((self__.step > (0)))?(i < self__.end):(i > self__.end))){
var ret__$1 = (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(ret,i) : f.call(null,ret,i));
if(cljs.core.reduced_QMARK_(ret__$1)){
return cljs.core.deref(ret__$1);
} else {
var G__13912 = (i + self__.step);
var G__13913 = ret__$1;
i = G__13912;
ret = G__13913;
continue;
}
} else {
return ret;
}
break;
}
});
cljs.core.Range.prototype.cljs$core$ISeq$_first$arity$1 = (function (rng){
var self__ = this;
var rng__$1 = this;
if((rng__$1.cljs$core$ISeqable$_seq$arity$1(null) == null)){
return null;
} else {
return self__.start;
}
});
cljs.core.Range.prototype.cljs$core$ISeq$_rest$arity$1 = (function (rng){
var self__ = this;
var rng__$1 = this;
if(!((rng__$1.cljs$core$ISeqable$_seq$arity$1(null) == null))){
return (new cljs.core.Range(self__.meta,(self__.start + self__.step),self__.end,self__.step,null));
} else {
return cljs.core.List.EMPTY;
}
});
cljs.core.Range.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (rng){
var self__ = this;
var rng__$1 = this;
if((self__.step > (0))){
if((self__.start < self__.end)){
return rng__$1;
} else {
return null;
}
} else {
if((self__.step < (0))){
if((self__.start > self__.end)){
return rng__$1;
} else {
return null;
}
} else {
if((self__.start === self__.end)){
return null;
} else {
return rng__$1;
}
}
}
});
cljs.core.Range.prototype.cljs$core$IWithMeta$_with_meta$arity$2 = (function (rng,meta__$1){
var self__ = this;
var rng__$1 = this;
return (new cljs.core.Range(meta__$1,self__.start,self__.end,self__.step,self__.__hash));
});
cljs.core.Range.prototype.cljs$core$ICollection$_conj$arity$2 = (function (rng,o){
var self__ = this;
var rng__$1 = this;
return cljs.core.cons(o,rng__$1);
});
cljs.core.Range.getBasis = (function (){
return new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$meta,cljs.core.cst$sym$start,cljs.core.cst$sym$end,cljs.core.cst$sym$step,cljs.core.with_meta(cljs.core.cst$sym$__hash,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null))], null);
});
cljs.core.Range.cljs$lang$type = true;
cljs.core.Range.cljs$lang$ctorStr = "cljs.core/Range";
cljs.core.Range.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/Range");
});
cljs.core.__GT_Range = (function cljs$core$__GT_Range(meta,start,end,step,__hash){
return (new cljs.core.Range(meta,start,end,step,__hash));
});
var G__13914_13917 = cljs.core.Range.prototype;
var G__13915_13918 = cljs.core.ITER_SYMBOL;
var G__13916_13919 = ((function (G__13914_13917,G__13915_13918){
return (function (){
var this__9929__auto__ = this;
return cljs.core.es6_iterator(this__9929__auto__);
});})(G__13914_13917,G__13915_13918))
;
goog.object.set(G__13914_13917,G__13915_13918,G__13916_13919);
/**
* Returns a lazy seq of nums from start (inclusive) to end
* (exclusive), by step, where start defaults to 0, step to 1,
* and end to infinity.
*/
cljs.core.range = (function cljs$core$range(var_args){
var G__13921 = arguments.length;
switch (G__13921) {
case 0:
return cljs.core.range.cljs$core$IFn$_invoke$arity$0();
break;
case 1:
return cljs.core.range.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.range.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.range.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.range.cljs$core$IFn$_invoke$arity$0 = (function (){
return cljs.core.range.cljs$core$IFn$_invoke$arity$3((0),Number.MAX_VALUE,(1));
});
cljs.core.range.cljs$core$IFn$_invoke$arity$1 = (function (end){
return cljs.core.range.cljs$core$IFn$_invoke$arity$3((0),end,(1));
});
cljs.core.range.cljs$core$IFn$_invoke$arity$2 = (function (start,end){
return cljs.core.range.cljs$core$IFn$_invoke$arity$3(start,end,(1));
});
cljs.core.range.cljs$core$IFn$_invoke$arity$3 = (function (start,end,step){
return (new cljs.core.Range(null,start,end,step,null));
});
cljs.core.range.cljs$lang$maxFixedArity = 3;
/**
* Returns a lazy seq of every nth item in coll. Returns a stateful
* transducer when no collection is provided.
*/
cljs.core.take_nth = (function cljs$core$take_nth(var_args){
var G__13924 = arguments.length;
switch (G__13924) {
case 1:
return cljs.core.take_nth.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.take_nth.cljs$core$IFn$_invoke$arity$1 = (function (n){
if(typeof n === 'number'){
} else {
throw (new Error("Assert failed: (number? n)"));
}
return (function (rf){
var ia = cljs.core.volatile_BANG_((-1));
return ((function (ia){
return (function() {
var G__13926 = null;
var G__13926__0 = (function (){
return (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));
});
var G__13926__1 = (function (result){
return (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));
});
var G__13926__2 = (function (result,input){
var i = cljs.core._vreset_BANG_(ia,(cljs.core._deref(ia) + (1)));
if((cljs.core.rem(i,n) === (0))){
return (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));
} else {
return result;
}
});
G__13926 = function(result,input){
switch(arguments.length){
case 0:
return G__13926__0.call(this);
case 1:
return G__13926__1.call(this,result);
case 2:
return G__13926__2.call(this,result,input);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13926.cljs$core$IFn$_invoke$arity$0 = G__13926__0;
G__13926.cljs$core$IFn$_invoke$arity$1 = G__13926__1;
G__13926.cljs$core$IFn$_invoke$arity$2 = G__13926__2;
return G__13926;
})()
;})(ia))
});
});
cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2 = (function (n,coll){
if(typeof n === 'number'){
} else {
throw (new Error("Assert failed: (number? n)"));
}
return (new cljs.core.LazySeq(null,(function (){
var temp__5457__auto__ = cljs.core.seq(coll);
if(temp__5457__auto__){
var s = temp__5457__auto__;
return cljs.core.cons(cljs.core.first(s),cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2(n,cljs.core.drop.cljs$core$IFn$_invoke$arity$2(n,s)));
} else {
return null;
}
}),null,null));
});
cljs.core.take_nth.cljs$lang$maxFixedArity = 2;
/**
* Returns a vector of [(take-while pred coll) (drop-while pred coll)]
*/
cljs.core.split_with = (function cljs$core$split_with(pred,coll){
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(pred,coll),cljs.core.drop_while.cljs$core$IFn$_invoke$arity$2(pred,coll)], null);
});
/**
* Applies f to each value in coll, splitting it each time f returns a
* new value. Returns a lazy seq of partitions. Returns a stateful
* transducer when no collection is provided.
*/
cljs.core.partition_by = (function cljs$core$partition_by(var_args){
var G__13929 = arguments.length;
switch (G__13929) {
case 1:
return cljs.core.partition_by.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.partition_by.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.partition_by.cljs$core$IFn$_invoke$arity$1 = (function (f){
return (function (rf){
var a = cljs.core.array_list();
var pa = cljs.core.volatile_BANG_(cljs.core.cst$kw$cljs$core_SLASH_none);
return ((function (a,pa){
return (function() {
var G__13931 = null;
var G__13931__0 = (function (){
return (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));
});
var G__13931__1 = (function (result){
var result__$1 = (cljs.core.truth_(a.isEmpty())?result:(function (){var v = cljs.core.vec(a.toArray());
a.clear();
return cljs.core.unreduced((rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,v) : rf.call(null,result,v)));
})());
return (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result__$1) : rf.call(null,result__$1));
});
var G__13931__2 = (function (result,input){
var pval = cljs.core.deref(pa);
var val = (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(input) : f.call(null,input));
cljs.core.vreset_BANG_(pa,val);
if((cljs.core.keyword_identical_QMARK_(pval,cljs.core.cst$kw$cljs$core_SLASH_none)) || (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(val,pval))){
a.add(input);
return result;
} else {
var v = cljs.core.vec(a.toArray());
a.clear();
var ret = (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,v) : rf.call(null,result,v));
if(cljs.core.reduced_QMARK_(ret)){
} else {
a.add(input);
}
return ret;
}
});
G__13931 = function(result,input){
switch(arguments.length){
case 0:
return G__13931__0.call(this);
case 1:
return G__13931__1.call(this,result);
case 2:
return G__13931__2.call(this,result,input);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13931.cljs$core$IFn$_invoke$arity$0 = G__13931__0;
G__13931.cljs$core$IFn$_invoke$arity$1 = G__13931__1;
G__13931.cljs$core$IFn$_invoke$arity$2 = G__13931__2;
return G__13931;
})()
;})(a,pa))
});
});
cljs.core.partition_by.cljs$core$IFn$_invoke$arity$2 = (function (f,coll){
return (new cljs.core.LazySeq(null,(function (){
var temp__5457__auto__ = cljs.core.seq(coll);
if(temp__5457__auto__){
var s = temp__5457__auto__;
var fst = cljs.core.first(s);
var fv = (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(fst) : f.call(null,fst));
var run = cljs.core.cons(fst,cljs.core.take_while.cljs$core$IFn$_invoke$arity$2(((function (fst,fv,s,temp__5457__auto__){
return (function (p1__13927_SHARP_){
return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(fv,(f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(p1__13927_SHARP_) : f.call(null,p1__13927_SHARP_)));
});})(fst,fv,s,temp__5457__auto__))
,cljs.core.next(s)));
return cljs.core.cons(run,cljs.core.partition_by.cljs$core$IFn$_invoke$arity$2(f,cljs.core.seq(cljs.core.drop.cljs$core$IFn$_invoke$arity$2(cljs.core.count(run),s))));
} else {
return null;
}
}),null,null));
});
cljs.core.partition_by.cljs$lang$maxFixedArity = 2;
/**
* Returns a map from distinct items in coll to the number of times
* they appear.
*/
cljs.core.frequencies = (function cljs$core$frequencies(coll){
return cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (counts,x){
return cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(counts,x,(cljs.core.get.cljs$core$IFn$_invoke$arity$3(counts,x,(0)) + (1)));
}),cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY),coll));
});
/**
* Returns a lazy seq of the intermediate values of the reduction (as
* per reduce) of coll by f, starting with init.
*/
cljs.core.reductions = (function cljs$core$reductions(var_args){
var G__13933 = arguments.length;
switch (G__13933) {
case 2:
return cljs.core.reductions.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.reductions.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.reductions.cljs$core$IFn$_invoke$arity$2 = (function (f,coll){
return (new cljs.core.LazySeq(null,(function (){
var temp__5455__auto__ = cljs.core.seq(coll);
if(temp__5455__auto__){
var s = temp__5455__auto__;
return cljs.core.reductions.cljs$core$IFn$_invoke$arity$3(f,cljs.core.first(s),cljs.core.rest(s));
} else {
var x__9736__auto__ = (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));
return cljs.core._conj(cljs.core.List.EMPTY,x__9736__auto__);
}
}),null,null));
});
cljs.core.reductions.cljs$core$IFn$_invoke$arity$3 = (function (f,init,coll){
if(cljs.core.reduced_QMARK_(init)){
var x__9736__auto__ = cljs.core.deref(init);
return cljs.core._conj(cljs.core.List.EMPTY,x__9736__auto__);
} else {
return cljs.core.cons(init,(new cljs.core.LazySeq(null,(function (){
var temp__5457__auto__ = cljs.core.seq(coll);
if(temp__5457__auto__){
var s = temp__5457__auto__;
return cljs.core.reductions.cljs$core$IFn$_invoke$arity$3(f,(function (){var G__13934 = init;
var G__13935 = cljs.core.first(s);
return (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(G__13934,G__13935) : f.call(null,G__13934,G__13935));
})(),cljs.core.rest(s));
} else {
return null;
}
}),null,null)));
}
});
cljs.core.reductions.cljs$lang$maxFixedArity = 3;
/**
* Takes a set of functions and returns a fn that is the juxtaposition
* of those fns. The returned fn takes a variable number of args, and
* returns a vector containing the result of applying each fn to the
* args (left-to-right).
* ((juxt a b c) x) => [(a x) (b x) (c x)]
*/
cljs.core.juxt = (function cljs$core$juxt(var_args){
var G__13952 = arguments.length;
switch (G__13952) {
case 1:
return cljs.core.juxt.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.juxt.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.juxt.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___13954 = arguments.length;
var i__10062__auto___13955 = (0);
while(true){
if((i__10062__auto___13955 < len__10061__auto___13954)){
args_arr__10084__auto__.push((arguments[i__10062__auto___13955]));
var G__13956 = (i__10062__auto___13955 + (1));
i__10062__auto___13955 = G__13956;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((3)),(0),null));
return cljs.core.juxt.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__10085__auto__);
}
});
cljs.core.juxt.cljs$core$IFn$_invoke$arity$1 = (function (f){
return (function() {
var G__13957 = null;
var G__13957__0 = (function (){
return (new cljs.core.PersistentVector(null,1,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null))],null));
});
var G__13957__1 = (function (x){
return (new cljs.core.PersistentVector(null,1,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(x) : f.call(null,x))],null));
});
var G__13957__2 = (function (x,y){
return (new cljs.core.PersistentVector(null,1,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(x,y) : f.call(null,x,y))],null));
});
var G__13957__3 = (function (x,y,z){
return (new cljs.core.PersistentVector(null,1,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(x,y,z) : f.call(null,x,y,z))],null));
});
var G__13957__4 = (function() {
var G__13958__delegate = function (x,y,z,args){
return (new cljs.core.PersistentVector(null,1,(5),cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,x,y,z,args)],null));
};
var G__13958 = function (x,y,z,var_args){
var args = null;
if (arguments.length > 3) {
var G__13959__i = 0, G__13959__a = new Array(arguments.length - 3);
while (G__13959__i < G__13959__a.length) {G__13959__a[G__13959__i] = arguments[G__13959__i + 3]; ++G__13959__i;}
args = new cljs.core.IndexedSeq(G__13959__a,0,null);
}
return G__13958__delegate.call(this,x,y,z,args);};
G__13958.cljs$lang$maxFixedArity = 3;
G__13958.cljs$lang$applyTo = (function (arglist__13960){
var x = cljs.core.first(arglist__13960);
arglist__13960 = cljs.core.next(arglist__13960);
var y = cljs.core.first(arglist__13960);
arglist__13960 = cljs.core.next(arglist__13960);
var z = cljs.core.first(arglist__13960);
var args = cljs.core.rest(arglist__13960);
return G__13958__delegate(x,y,z,args);
});
G__13958.cljs$core$IFn$_invoke$arity$variadic = G__13958__delegate;
return G__13958;
})()
;
G__13957 = function(x,y,z,var_args){
var args = var_args;
switch(arguments.length){
case 0:
return G__13957__0.call(this);
case 1:
return G__13957__1.call(this,x);
case 2:
return G__13957__2.call(this,x,y);
case 3:
return G__13957__3.call(this,x,y,z);
default:
var G__13961 = null;
if (arguments.length > 3) {
var G__13962__i = 0, G__13962__a = new Array(arguments.length - 3);
while (G__13962__i < G__13962__a.length) {G__13962__a[G__13962__i] = arguments[G__13962__i + 3]; ++G__13962__i;}
G__13961 = new cljs.core.IndexedSeq(G__13962__a,0,null);
}
return G__13957__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__13961);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13957.cljs$lang$maxFixedArity = 3;
G__13957.cljs$lang$applyTo = G__13957__4.cljs$lang$applyTo;
G__13957.cljs$core$IFn$_invoke$arity$0 = G__13957__0;
G__13957.cljs$core$IFn$_invoke$arity$1 = G__13957__1;
G__13957.cljs$core$IFn$_invoke$arity$2 = G__13957__2;
G__13957.cljs$core$IFn$_invoke$arity$3 = G__13957__3;
G__13957.cljs$core$IFn$_invoke$arity$variadic = G__13957__4.cljs$core$IFn$_invoke$arity$variadic;
return G__13957;
})()
});
cljs.core.juxt.cljs$core$IFn$_invoke$arity$2 = (function (f,g){
return (function() {
var G__13963 = null;
var G__13963__0 = (function (){
return (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null)),(g.cljs$core$IFn$_invoke$arity$0 ? g.cljs$core$IFn$_invoke$arity$0() : g.call(null))],null));
});
var G__13963__1 = (function (x){
return (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(x) : f.call(null,x)),(g.cljs$core$IFn$_invoke$arity$1 ? g.cljs$core$IFn$_invoke$arity$1(x) : g.call(null,x))],null));
});
var G__13963__2 = (function (x,y){
return (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(x,y) : f.call(null,x,y)),(g.cljs$core$IFn$_invoke$arity$2 ? g.cljs$core$IFn$_invoke$arity$2(x,y) : g.call(null,x,y))],null));
});
var G__13963__3 = (function (x,y,z){
return (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(x,y,z) : f.call(null,x,y,z)),(g.cljs$core$IFn$_invoke$arity$3 ? g.cljs$core$IFn$_invoke$arity$3(x,y,z) : g.call(null,x,y,z))],null));
});
var G__13963__4 = (function() {
var G__13964__delegate = function (x,y,z,args){
return (new cljs.core.PersistentVector(null,2,(5),cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,x,y,z,args),cljs.core.apply.cljs$core$IFn$_invoke$arity$5(g,x,y,z,args)],null));
};
var G__13964 = function (x,y,z,var_args){
var args = null;
if (arguments.length > 3) {
var G__13965__i = 0, G__13965__a = new Array(arguments.length - 3);
while (G__13965__i < G__13965__a.length) {G__13965__a[G__13965__i] = arguments[G__13965__i + 3]; ++G__13965__i;}
args = new cljs.core.IndexedSeq(G__13965__a,0,null);
}
return G__13964__delegate.call(this,x,y,z,args);};
G__13964.cljs$lang$maxFixedArity = 3;
G__13964.cljs$lang$applyTo = (function (arglist__13966){
var x = cljs.core.first(arglist__13966);
arglist__13966 = cljs.core.next(arglist__13966);
var y = cljs.core.first(arglist__13966);
arglist__13966 = cljs.core.next(arglist__13966);
var z = cljs.core.first(arglist__13966);
var args = cljs.core.rest(arglist__13966);
return G__13964__delegate(x,y,z,args);
});
G__13964.cljs$core$IFn$_invoke$arity$variadic = G__13964__delegate;
return G__13964;
})()
;
G__13963 = function(x,y,z,var_args){
var args = var_args;
switch(arguments.length){
case 0:
return G__13963__0.call(this);
case 1:
return G__13963__1.call(this,x);
case 2:
return G__13963__2.call(this,x,y);
case 3:
return G__13963__3.call(this,x,y,z);
default:
var G__13967 = null;
if (arguments.length > 3) {
var G__13968__i = 0, G__13968__a = new Array(arguments.length - 3);
while (G__13968__i < G__13968__a.length) {G__13968__a[G__13968__i] = arguments[G__13968__i + 3]; ++G__13968__i;}
G__13967 = new cljs.core.IndexedSeq(G__13968__a,0,null);
}
return G__13963__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__13967);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13963.cljs$lang$maxFixedArity = 3;
G__13963.cljs$lang$applyTo = G__13963__4.cljs$lang$applyTo;
G__13963.cljs$core$IFn$_invoke$arity$0 = G__13963__0;
G__13963.cljs$core$IFn$_invoke$arity$1 = G__13963__1;
G__13963.cljs$core$IFn$_invoke$arity$2 = G__13963__2;
G__13963.cljs$core$IFn$_invoke$arity$3 = G__13963__3;
G__13963.cljs$core$IFn$_invoke$arity$variadic = G__13963__4.cljs$core$IFn$_invoke$arity$variadic;
return G__13963;
})()
});
cljs.core.juxt.cljs$core$IFn$_invoke$arity$3 = (function (f,g,h){
return (function() {
var G__13969 = null;
var G__13969__0 = (function (){
return (new cljs.core.PersistentVector(null,3,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null)),(g.cljs$core$IFn$_invoke$arity$0 ? g.cljs$core$IFn$_invoke$arity$0() : g.call(null)),(h.cljs$core$IFn$_invoke$arity$0 ? h.cljs$core$IFn$_invoke$arity$0() : h.call(null))],null));
});
var G__13969__1 = (function (x){
return (new cljs.core.PersistentVector(null,3,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(x) : f.call(null,x)),(g.cljs$core$IFn$_invoke$arity$1 ? g.cljs$core$IFn$_invoke$arity$1(x) : g.call(null,x)),(h.cljs$core$IFn$_invoke$arity$1 ? h.cljs$core$IFn$_invoke$arity$1(x) : h.call(null,x))],null));
});
var G__13969__2 = (function (x,y){
return (new cljs.core.PersistentVector(null,3,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(x,y) : f.call(null,x,y)),(g.cljs$core$IFn$_invoke$arity$2 ? g.cljs$core$IFn$_invoke$arity$2(x,y) : g.call(null,x,y)),(h.cljs$core$IFn$_invoke$arity$2 ? h.cljs$core$IFn$_invoke$arity$2(x,y) : h.call(null,x,y))],null));
});
var G__13969__3 = (function (x,y,z){
return (new cljs.core.PersistentVector(null,3,(5),cljs.core.PersistentVector.EMPTY_NODE,[(f.cljs$core$IFn$_invoke$arity$3 ? f.cljs$core$IFn$_invoke$arity$3(x,y,z) : f.call(null,x,y,z)),(g.cljs$core$IFn$_invoke$arity$3 ? g.cljs$core$IFn$_invoke$arity$3(x,y,z) : g.call(null,x,y,z)),(h.cljs$core$IFn$_invoke$arity$3 ? h.cljs$core$IFn$_invoke$arity$3(x,y,z) : h.call(null,x,y,z))],null));
});
var G__13969__4 = (function() {
var G__13970__delegate = function (x,y,z,args){
return (new cljs.core.PersistentVector(null,3,(5),cljs.core.PersistentVector.EMPTY_NODE,[cljs.core.apply.cljs$core$IFn$_invoke$arity$5(f,x,y,z,args),cljs.core.apply.cljs$core$IFn$_invoke$arity$5(g,x,y,z,args),cljs.core.apply.cljs$core$IFn$_invoke$arity$5(h,x,y,z,args)],null));
};
var G__13970 = function (x,y,z,var_args){
var args = null;
if (arguments.length > 3) {
var G__13971__i = 0, G__13971__a = new Array(arguments.length - 3);
while (G__13971__i < G__13971__a.length) {G__13971__a[G__13971__i] = arguments[G__13971__i + 3]; ++G__13971__i;}
args = new cljs.core.IndexedSeq(G__13971__a,0,null);
}
return G__13970__delegate.call(this,x,y,z,args);};
G__13970.cljs$lang$maxFixedArity = 3;
G__13970.cljs$lang$applyTo = (function (arglist__13972){
var x = cljs.core.first(arglist__13972);
arglist__13972 = cljs.core.next(arglist__13972);
var y = cljs.core.first(arglist__13972);
arglist__13972 = cljs.core.next(arglist__13972);
var z = cljs.core.first(arglist__13972);
var args = cljs.core.rest(arglist__13972);
return G__13970__delegate(x,y,z,args);
});
G__13970.cljs$core$IFn$_invoke$arity$variadic = G__13970__delegate;
return G__13970;
})()
;
G__13969 = function(x,y,z,var_args){
var args = var_args;
switch(arguments.length){
case 0:
return G__13969__0.call(this);
case 1:
return G__13969__1.call(this,x);
case 2:
return G__13969__2.call(this,x,y);
case 3:
return G__13969__3.call(this,x,y,z);
default:
var G__13973 = null;
if (arguments.length > 3) {
var G__13974__i = 0, G__13974__a = new Array(arguments.length - 3);
while (G__13974__i < G__13974__a.length) {G__13974__a[G__13974__i] = arguments[G__13974__i + 3]; ++G__13974__i;}
G__13973 = new cljs.core.IndexedSeq(G__13974__a,0,null);
}
return G__13969__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__13973);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13969.cljs$lang$maxFixedArity = 3;
G__13969.cljs$lang$applyTo = G__13969__4.cljs$lang$applyTo;
G__13969.cljs$core$IFn$_invoke$arity$0 = G__13969__0;
G__13969.cljs$core$IFn$_invoke$arity$1 = G__13969__1;
G__13969.cljs$core$IFn$_invoke$arity$2 = G__13969__2;
G__13969.cljs$core$IFn$_invoke$arity$3 = G__13969__3;
G__13969.cljs$core$IFn$_invoke$arity$variadic = G__13969__4.cljs$core$IFn$_invoke$arity$variadic;
return G__13969;
})()
});
cljs.core.juxt.cljs$core$IFn$_invoke$arity$variadic = (function (f,g,h,fs){
var fs__$1 = cljs.core.list_STAR_.cljs$core$IFn$_invoke$arity$4(f,g,h,fs);
return ((function (fs__$1){
return (function() {
var G__13975 = null;
var G__13975__0 = (function (){
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(((function (fs__$1){
return (function (p1__13937_SHARP_,p2__13938_SHARP_){
return cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__13937_SHARP_,(p2__13938_SHARP_.cljs$core$IFn$_invoke$arity$0 ? p2__13938_SHARP_.cljs$core$IFn$_invoke$arity$0() : p2__13938_SHARP_.call(null)));
});})(fs__$1))
,cljs.core.PersistentVector.EMPTY,fs__$1);
});
var G__13975__1 = (function (x){
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(((function (fs__$1){
return (function (p1__13939_SHARP_,p2__13940_SHARP_){
return cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__13939_SHARP_,(p2__13940_SHARP_.cljs$core$IFn$_invoke$arity$1 ? p2__13940_SHARP_.cljs$core$IFn$_invoke$arity$1(x) : p2__13940_SHARP_.call(null,x)));
});})(fs__$1))
,cljs.core.PersistentVector.EMPTY,fs__$1);
});
var G__13975__2 = (function (x,y){
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(((function (fs__$1){
return (function (p1__13941_SHARP_,p2__13942_SHARP_){
return cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__13941_SHARP_,(p2__13942_SHARP_.cljs$core$IFn$_invoke$arity$2 ? p2__13942_SHARP_.cljs$core$IFn$_invoke$arity$2(x,y) : p2__13942_SHARP_.call(null,x,y)));
});})(fs__$1))
,cljs.core.PersistentVector.EMPTY,fs__$1);
});
var G__13975__3 = (function (x,y,z){
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(((function (fs__$1){
return (function (p1__13943_SHARP_,p2__13944_SHARP_){
return cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__13943_SHARP_,(p2__13944_SHARP_.cljs$core$IFn$_invoke$arity$3 ? p2__13944_SHARP_.cljs$core$IFn$_invoke$arity$3(x,y,z) : p2__13944_SHARP_.call(null,x,y,z)));
});})(fs__$1))
,cljs.core.PersistentVector.EMPTY,fs__$1);
});
var G__13975__4 = (function() {
var G__13976__delegate = function (x,y,z,args){
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(((function (fs__$1){
return (function (p1__13945_SHARP_,p2__13946_SHARP_){
return cljs.core.conj.cljs$core$IFn$_invoke$arity$2(p1__13945_SHARP_,cljs.core.apply.cljs$core$IFn$_invoke$arity$5(p2__13946_SHARP_,x,y,z,args));
});})(fs__$1))
,cljs.core.PersistentVector.EMPTY,fs__$1);
};
var G__13976 = function (x,y,z,var_args){
var args = null;
if (arguments.length > 3) {
var G__13977__i = 0, G__13977__a = new Array(arguments.length - 3);
while (G__13977__i < G__13977__a.length) {G__13977__a[G__13977__i] = arguments[G__13977__i + 3]; ++G__13977__i;}
args = new cljs.core.IndexedSeq(G__13977__a,0,null);
}
return G__13976__delegate.call(this,x,y,z,args);};
G__13976.cljs$lang$maxFixedArity = 3;
G__13976.cljs$lang$applyTo = (function (arglist__13978){
var x = cljs.core.first(arglist__13978);
arglist__13978 = cljs.core.next(arglist__13978);
var y = cljs.core.first(arglist__13978);
arglist__13978 = cljs.core.next(arglist__13978);
var z = cljs.core.first(arglist__13978);
var args = cljs.core.rest(arglist__13978);
return G__13976__delegate(x,y,z,args);
});
G__13976.cljs$core$IFn$_invoke$arity$variadic = G__13976__delegate;
return G__13976;
})()
;
G__13975 = function(x,y,z,var_args){
var args = var_args;
switch(arguments.length){
case 0:
return G__13975__0.call(this);
case 1:
return G__13975__1.call(this,x);
case 2:
return G__13975__2.call(this,x,y);
case 3:
return G__13975__3.call(this,x,y,z);
default:
var G__13979 = null;
if (arguments.length > 3) {
var G__13980__i = 0, G__13980__a = new Array(arguments.length - 3);
while (G__13980__i < G__13980__a.length) {G__13980__a[G__13980__i] = arguments[G__13980__i + 3]; ++G__13980__i;}
G__13979 = new cljs.core.IndexedSeq(G__13980__a,0,null);
}
return G__13975__4.cljs$core$IFn$_invoke$arity$variadic(x,y,z, G__13979);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__13975.cljs$lang$maxFixedArity = 3;
G__13975.cljs$lang$applyTo = G__13975__4.cljs$lang$applyTo;
G__13975.cljs$core$IFn$_invoke$arity$0 = G__13975__0;
G__13975.cljs$core$IFn$_invoke$arity$1 = G__13975__1;
G__13975.cljs$core$IFn$_invoke$arity$2 = G__13975__2;
G__13975.cljs$core$IFn$_invoke$arity$3 = G__13975__3;
G__13975.cljs$core$IFn$_invoke$arity$variadic = G__13975__4.cljs$core$IFn$_invoke$arity$variadic;
return G__13975;
})()
;})(fs__$1))
});
cljs.core.juxt.cljs$lang$applyTo = (function (seq13948){
var G__13949 = cljs.core.first(seq13948);
var seq13948__$1 = cljs.core.next(seq13948);
var G__13950 = cljs.core.first(seq13948__$1);
var seq13948__$2 = cljs.core.next(seq13948__$1);
var G__13951 = cljs.core.first(seq13948__$2);
var seq13948__$3 = cljs.core.next(seq13948__$2);
return cljs.core.juxt.cljs$core$IFn$_invoke$arity$variadic(G__13949,G__13950,G__13951,seq13948__$3);
});
cljs.core.juxt.cljs$lang$maxFixedArity = (3);
/**
* When lazy sequences are produced via functions that have side
* effects, any effects other than those needed to produce the first
* element in the seq do not occur until the seq is consumed. dorun can
* be used to force any effects. Walks through the successive nexts of
* the seq, does not retain the head and returns nil.
*/
cljs.core.dorun = (function cljs$core$dorun(var_args){
var G__13982 = arguments.length;
switch (G__13982) {
case 1:
return cljs.core.dorun.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.dorun.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.dorun.cljs$core$IFn$_invoke$arity$1 = (function (coll){
while(true){
if(cljs.core.seq(coll)){
var G__13984 = cljs.core.next(coll);
coll = G__13984;
continue;
} else {
return null;
}
break;
}
});
cljs.core.dorun.cljs$core$IFn$_invoke$arity$2 = (function (n,coll){
while(true){
if((cljs.core.seq(coll)) && ((n > (0)))){
var G__13985 = (n - (1));
var G__13986 = cljs.core.next(coll);
n = G__13985;
coll = G__13986;
continue;
} else {
return null;
}
break;
}
});
cljs.core.dorun.cljs$lang$maxFixedArity = 2;
/**
* When lazy sequences are produced via functions that have side
* effects, any effects other than those needed to produce the first
* element in the seq do not occur until the seq is consumed. doall can
* be used to force any effects. Walks through the successive nexts of
* the seq, retains the head and returns it, thus causing the entire
* seq to reside in memory at one time.
*/
cljs.core.doall = (function cljs$core$doall(var_args){
var G__13988 = arguments.length;
switch (G__13988) {
case 1:
return cljs.core.doall.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.doall.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.doall.cljs$core$IFn$_invoke$arity$1 = (function (coll){
cljs.core.dorun.cljs$core$IFn$_invoke$arity$1(coll);
return coll;
});
cljs.core.doall.cljs$core$IFn$_invoke$arity$2 = (function (n,coll){
cljs.core.dorun.cljs$core$IFn$_invoke$arity$2(n,coll);
return coll;
});
cljs.core.doall.cljs$lang$maxFixedArity = 2;
/**
* Returns true if x is a JavaScript RegExp instance.
*/
cljs.core.regexp_QMARK_ = (function cljs$core$regexp_QMARK_(x){
return (x instanceof RegExp);
});
/**
* Returns the result of (re-find re s) if re fully matches s.
*/
cljs.core.re_matches = (function cljs$core$re_matches(re,s){
if(typeof s === 'string'){
var matches = re.exec(s);
if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.first(matches),s)){
if((cljs.core.count(matches) === (1))){
return cljs.core.first(matches);
} else {
return cljs.core.vec(matches);
}
} else {
return null;
}
} else {
throw (new TypeError("re-matches must match against a string."));
}
});
/**
* Returns the first regex match, if any, of s to re, using
* re.exec(s). Returns a vector, containing first the matching
* substring, then any capturing groups if the regular expression contains
* capturing groups.
*/
cljs.core.re_find = (function cljs$core$re_find(re,s){
if(typeof s === 'string'){
var matches = re.exec(s);
if((matches == null)){
return null;
} else {
if((cljs.core.count(matches) === (1))){
return cljs.core.first(matches);
} else {
return cljs.core.vec(matches);
}
}
} else {
throw (new TypeError("re-find must match against a string."));
}
});
/**
* Returns a lazy sequence of successive matches of re in s.
*/
cljs.core.re_seq = (function cljs$core$re_seq(re,s){
var match_data = cljs.core.re_find(re,s);
var match_idx = s.search(re);
var match_str = ((cljs.core.coll_QMARK_(match_data))?cljs.core.first(match_data):match_data);
var post_match = cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,(match_idx + cljs.core.count(match_str)));
if(cljs.core.truth_(match_data)){
return (new cljs.core.LazySeq(null,((function (match_data,match_idx,match_str,post_match){
return (function (){
return cljs.core.cons(match_data,((cljs.core.seq(post_match))?(cljs.core.re_seq.cljs$core$IFn$_invoke$arity$2 ? cljs.core.re_seq.cljs$core$IFn$_invoke$arity$2(re,post_match) : cljs.core.re_seq.call(null,re,post_match)):null));
});})(match_data,match_idx,match_str,post_match))
,null,null));
} else {
return null;
}
});
/**
* Returns an instance of RegExp which has compiled the provided string.
*/
cljs.core.re_pattern = (function cljs$core$re_pattern(s){
if((s instanceof RegExp)){
return s;
} else {
var vec__13990 = cljs.core.re_find(/^\(\?([idmsux]*)\)/,s);
var prefix = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__13990,(0),null);
var flags = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__13990,(1),null);
var pattern = cljs.core.subs.cljs$core$IFn$_invoke$arity$2(s,cljs.core.count(prefix));
return (new RegExp(pattern,(function (){var or__8782__auto__ = flags;
if(cljs.core.truth_(or__8782__auto__)){
return or__8782__auto__;
} else {
return "";
}
})()));
}
});
cljs.core.pr_sequential_writer = (function cljs$core$pr_sequential_writer(writer,print_one,begin,sep,end,opts,coll){
var _STAR_print_level_STAR_13993 = cljs.core._STAR_print_level_STAR_;
cljs.core._STAR_print_level_STAR_ = (((cljs.core._STAR_print_level_STAR_ == null))?null:(cljs.core._STAR_print_level_STAR_ - (1)));
try{if((!((cljs.core._STAR_print_level_STAR_ == null))) && ((cljs.core._STAR_print_level_STAR_ < (0)))){
return cljs.core._write(writer,"#");
} else {
cljs.core._write(writer,begin);
if((cljs.core.cst$kw$print_DASH_length.cljs$core$IFn$_invoke$arity$1(opts) === (0))){
if(cljs.core.seq(coll)){
cljs.core._write(writer,(function (){var or__8782__auto__ = cljs.core.cst$kw$more_DASH_marker.cljs$core$IFn$_invoke$arity$1(opts);
if(cljs.core.truth_(or__8782__auto__)){
return or__8782__auto__;
} else {
return "...";
}
})());
} else {
}
} else {
if(cljs.core.seq(coll)){
var G__13994_14000 = cljs.core.first(coll);
var G__13995_14001 = writer;
var G__13996_14002 = opts;
(print_one.cljs$core$IFn$_invoke$arity$3 ? print_one.cljs$core$IFn$_invoke$arity$3(G__13994_14000,G__13995_14001,G__13996_14002) : print_one.call(null,G__13994_14000,G__13995_14001,G__13996_14002));
} else {
}
var coll_14003__$1 = cljs.core.next(coll);
var n_14004 = (cljs.core.cst$kw$print_DASH_length.cljs$core$IFn$_invoke$arity$1(opts) - (1));
while(true){
if((coll_14003__$1) && (((n_14004 == null)) || (!((n_14004 === (0)))))){
cljs.core._write(writer,sep);
var G__13997_14005 = cljs.core.first(coll_14003__$1);
var G__13998_14006 = writer;
var G__13999_14007 = opts;
(print_one.cljs$core$IFn$_invoke$arity$3 ? print_one.cljs$core$IFn$_invoke$arity$3(G__13997_14005,G__13998_14006,G__13999_14007) : print_one.call(null,G__13997_14005,G__13998_14006,G__13999_14007));
var G__14008 = cljs.core.next(coll_14003__$1);
var G__14009 = (n_14004 - (1));
coll_14003__$1 = G__14008;
n_14004 = G__14009;
continue;
} else {
if((cljs.core.seq(coll_14003__$1)) && ((n_14004 === (0)))){
cljs.core._write(writer,sep);
cljs.core._write(writer,(function (){var or__8782__auto__ = cljs.core.cst$kw$more_DASH_marker.cljs$core$IFn$_invoke$arity$1(opts);
if(cljs.core.truth_(or__8782__auto__)){
return or__8782__auto__;
} else {
return "...";
}
})());
} else {
}
}
break;
}
}
return cljs.core._write(writer,end);
}
}finally {cljs.core._STAR_print_level_STAR_ = _STAR_print_level_STAR_13993;
}});
cljs.core.write_all = (function cljs$core$write_all(var_args){
var args__10068__auto__ = [];
var len__10061__auto___14016 = arguments.length;
var i__10062__auto___14017 = (0);
while(true){
if((i__10062__auto___14017 < len__10061__auto___14016)){
args__10068__auto__.push((arguments[i__10062__auto___14017]));
var G__14018 = (i__10062__auto___14017 + (1));
i__10062__auto___14017 = G__14018;
continue;
} else {
}
break;
}
var argseq__10069__auto__ = ((((1) < args__10068__auto__.length))?(new cljs.core.IndexedSeq(args__10068__auto__.slice((1)),(0),null)):null);
return cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__10069__auto__);
});
cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic = (function (writer,ss){
var seq__14012 = cljs.core.seq(ss);
var chunk__14013 = null;
var count__14014 = (0);
var i__14015 = (0);
while(true){
if((i__14015 < count__14014)){
var s = chunk__14013.cljs$core$IIndexed$_nth$arity$2(null,i__14015);
cljs.core._write(writer,s);
var G__14019 = seq__14012;
var G__14020 = chunk__14013;
var G__14021 = count__14014;
var G__14022 = (i__14015 + (1));
seq__14012 = G__14019;
chunk__14013 = G__14020;
count__14014 = G__14021;
i__14015 = G__14022;
continue;
} else {
var temp__5457__auto__ = cljs.core.seq(seq__14012);
if(temp__5457__auto__){
var seq__14012__$1 = temp__5457__auto__;
if(cljs.core.chunked_seq_QMARK_(seq__14012__$1)){
var c__9713__auto__ = cljs.core.chunk_first(seq__14012__$1);
var G__14023 = cljs.core.chunk_rest(seq__14012__$1);
var G__14024 = c__9713__auto__;
var G__14025 = cljs.core.count(c__9713__auto__);
var G__14026 = (0);
seq__14012 = G__14023;
chunk__14013 = G__14024;
count__14014 = G__14025;
i__14015 = G__14026;
continue;
} else {
var s = cljs.core.first(seq__14012__$1);
cljs.core._write(writer,s);
var G__14027 = cljs.core.next(seq__14012__$1);
var G__14028 = null;
var G__14029 = (0);
var G__14030 = (0);
seq__14012 = G__14027;
chunk__14013 = G__14028;
count__14014 = G__14029;
i__14015 = G__14030;
continue;
}
} else {
return null;
}
}
break;
}
});
cljs.core.write_all.cljs$lang$maxFixedArity = (1);
cljs.core.write_all.cljs$lang$applyTo = (function (seq14010){
var G__14011 = cljs.core.first(seq14010);
var seq14010__$1 = cljs.core.next(seq14010);
return cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(G__14011,seq14010__$1);
});
cljs.core.string_print = (function cljs$core$string_print(x){
if((cljs.core._STAR_print_fn_STAR_ == null)){
throw (new Error("No *print-fn* fn set for evaluation environment"));
} else {
}
(cljs.core._STAR_print_fn_STAR_.cljs$core$IFn$_invoke$arity$1 ? cljs.core._STAR_print_fn_STAR_.cljs$core$IFn$_invoke$arity$1(x) : cljs.core._STAR_print_fn_STAR_.call(null,x));
return null;
});
cljs.core.flush = (function cljs$core$flush(){
return null;
});
cljs.core.char_escapes = (function (){var obj14032 = {"\"":"\\\"","\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t"};
return obj14032;
})();
cljs.core.quote_string = (function cljs$core$quote_string(s){
return [cljs.core.str.cljs$core$IFn$_invoke$arity$1("\""),cljs.core.str.cljs$core$IFn$_invoke$arity$1(s.replace(RegExp("[\\\\\"\b\f\n\r\t]","g"),(function (match){
return (cljs.core.char_escapes[match]);
}))),cljs.core.str.cljs$core$IFn$_invoke$arity$1("\"")].join('');
});
cljs.core.print_meta_QMARK_ = (function cljs$core$print_meta_QMARK_(opts,obj){
var and__8770__auto__ = cljs.core.boolean$(cljs.core.get.cljs$core$IFn$_invoke$arity$2(opts,cljs.core.cst$kw$meta));
if(and__8770__auto__){
var and__8770__auto____$1 = ((!((obj == null)))?((((obj.cljs$lang$protocol_mask$partition0$ & (131072))) || ((cljs.core.PROTOCOL_SENTINEL === obj.cljs$core$IMeta$)))?true:false):false);
if(and__8770__auto____$1){
return !((cljs.core.meta(obj) == null));
} else {
return and__8770__auto____$1;
}
} else {
return and__8770__auto__;
}
});
cljs.core.pr_writer_impl = (function cljs$core$pr_writer_impl(obj,writer,opts){
if((obj == null)){
return cljs.core._write(writer,"nil");
} else {
if(cljs.core.print_meta_QMARK_(opts,obj)){
cljs.core._write(writer,"^");
cljs.core.pr_writer(cljs.core.meta(obj),writer,opts);
cljs.core._write(writer," ");
} else {
}
if(obj.cljs$lang$type){
return obj.cljs$lang$ctorPrWriter(obj,writer,opts);
} else {
if(((!((obj == null)))?((((obj.cljs$lang$protocol_mask$partition0$ & (2147483648))) || ((cljs.core.PROTOCOL_SENTINEL === obj.cljs$core$IPrintWithWriter$)))?true:false):false)){
return obj.cljs$core$IPrintWithWriter$_pr_writer$arity$3(null,writer,opts);
} else {
if((obj === true) || (obj === false)){
return cljs.core._write(writer,[cljs.core.str.cljs$core$IFn$_invoke$arity$1(obj)].join(''));
} else {
if(typeof obj === 'number'){
return cljs.core._write(writer,((isNaN(obj))?"##NaN":(((obj === Number.POSITIVE_INFINITY))?"##Inf":(((obj === Number.NEGATIVE_INFINITY))?"##-Inf":[cljs.core.str.cljs$core$IFn$_invoke$arity$1(obj)].join('')
))));
} else {
if(cljs.core.object_QMARK_(obj)){
cljs.core._write(writer,"#js ");
return cljs.core.print_map(cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (k){
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(function (){var G__14037 = k;
if(!((cljs.core.re_matches(/[A-Za-z_\*\+\?!\-'][\w\*\+\?!\-']*/,k) == null))){
return cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(G__14037);
} else {
return G__14037;
}
})(),(obj[k])], null);
}),cljs.core.js_keys(obj)),cljs.core.pr_writer,writer,opts);
} else {
if(cljs.core.array_QMARK_(obj)){
return cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,"#js ["," ","]",opts,obj);
} else {
if(goog.isString(obj)){
if(cljs.core.truth_(cljs.core.cst$kw$readably.cljs$core$IFn$_invoke$arity$1(opts))){
return cljs.core._write(writer,cljs.core.quote_string(obj));
} else {
return cljs.core._write(writer,obj);
}
} else {
if(goog.isFunction(obj)){
var name = obj.name;
var name__$1 = (cljs.core.truth_((function (){var or__8782__auto__ = (name == null);
if(or__8782__auto__){
return or__8782__auto__;
} else {
return goog.string.isEmpty(name);
}
})())?"Function":name);
return cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(writer,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(["#object[",name__$1,((cljs.core._STAR_print_fn_bodies_STAR_)?[" \"",cljs.core.str.cljs$core$IFn$_invoke$arity$1([cljs.core.str.cljs$core$IFn$_invoke$arity$1(obj)].join('')),"\""].join(''):""),"]"], 0));
} else {
if((obj instanceof Date)){
var normalize = (function (n,len){
var ns = [cljs.core.str.cljs$core$IFn$_invoke$arity$1(n)].join('');
while(true){
if((cljs.core.count(ns) < len)){
var G__14040 = ["0",cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns)].join('');
ns = G__14040;
continue;
} else {
return ns;
}
break;
}
});
return cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(writer,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(["#inst \"",[cljs.core.str.cljs$core$IFn$_invoke$arity$1(obj.getUTCFullYear())].join(''),"-",normalize((obj.getUTCMonth() + (1)),(2)),"-",normalize(obj.getUTCDate(),(2)),"T",normalize(obj.getUTCHours(),(2)),":",normalize(obj.getUTCMinutes(),(2)),":",normalize(obj.getUTCSeconds(),(2)),".",normalize(obj.getUTCMilliseconds(),(3)),"-","00:00\""], 0));
} else {
if(cljs.core.regexp_QMARK_(obj)){
return cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(writer,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(["#\"",obj.source,"\""], 0));
} else {
if(cljs.core.truth_((function (){var G__14038 = obj;
var G__14038__$1 = (((G__14038 == null))?null:G__14038.constructor);
if((G__14038__$1 == null)){
return null;
} else {
return G__14038__$1.cljs$lang$ctorStr;
}
})())){
return cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(writer,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(["#object[",obj.constructor.cljs$lang$ctorStr.replace((new RegExp("/","g")),"."),"]"], 0));
} else {
var name = (function (){var G__14039 = obj;
var G__14039__$1 = (((G__14039 == null))?null:G__14039.constructor);
if((G__14039__$1 == null)){
return null;
} else {
return G__14039__$1.name;
}
})();
var name__$1 = (cljs.core.truth_((function (){var or__8782__auto__ = (name == null);
if(or__8782__auto__){
return or__8782__auto__;
} else {
return goog.string.isEmpty(name);
}
})())?"Object":name);
if((obj.constructor == null)){
return cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(writer,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(["#object[",name__$1,"]"], 0));
} else {
return cljs.core.write_all.cljs$core$IFn$_invoke$arity$variadic(writer,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2(["#object[",name__$1," ",[cljs.core.str.cljs$core$IFn$_invoke$arity$1(obj)].join(''),"]"], 0));
}
}
}
}
}
}
}
}
}
}
}
}
}
});
/**
* Prefer this to pr-seq, because it makes the printing function
* configurable, allowing efficient implementations such as appending
* to a StringBuffer.
*/
cljs.core.pr_writer = (function cljs$core$pr_writer(obj,writer,opts){
var temp__5455__auto__ = cljs.core.cst$kw$alt_DASH_impl.cljs$core$IFn$_invoke$arity$1(opts);
if(cljs.core.truth_(temp__5455__auto__)){
var alt_impl = temp__5455__auto__;
var G__14041 = obj;
var G__14042 = writer;
var G__14043 = cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(opts,cljs.core.cst$kw$fallback_DASH_impl,cljs.core.pr_writer_impl);
return (alt_impl.cljs$core$IFn$_invoke$arity$3 ? alt_impl.cljs$core$IFn$_invoke$arity$3(G__14041,G__14042,G__14043) : alt_impl.call(null,G__14041,G__14042,G__14043));
} else {
return cljs.core.pr_writer_impl(obj,writer,opts);
}
});
cljs.core.pr_seq_writer = (function cljs$core$pr_seq_writer(objs,writer,opts){
cljs.core.pr_writer(cljs.core.first(objs),writer,opts);
var seq__14044 = cljs.core.seq(cljs.core.next(objs));
var chunk__14045 = null;
var count__14046 = (0);
var i__14047 = (0);
while(true){
if((i__14047 < count__14046)){
var obj = chunk__14045.cljs$core$IIndexed$_nth$arity$2(null,i__14047);
cljs.core._write(writer," ");
cljs.core.pr_writer(obj,writer,opts);
var G__14048 = seq__14044;
var G__14049 = chunk__14045;
var G__14050 = count__14046;
var G__14051 = (i__14047 + (1));
seq__14044 = G__14048;
chunk__14045 = G__14049;
count__14046 = G__14050;
i__14047 = G__14051;
continue;
} else {
var temp__5457__auto__ = cljs.core.seq(seq__14044);
if(temp__5457__auto__){
var seq__14044__$1 = temp__5457__auto__;
if(cljs.core.chunked_seq_QMARK_(seq__14044__$1)){
var c__9713__auto__ = cljs.core.chunk_first(seq__14044__$1);
var G__14052 = cljs.core.chunk_rest(seq__14044__$1);
var G__14053 = c__9713__auto__;
var G__14054 = cljs.core.count(c__9713__auto__);
var G__14055 = (0);
seq__14044 = G__14052;
chunk__14045 = G__14053;
count__14046 = G__14054;
i__14047 = G__14055;
continue;
} else {
var obj = cljs.core.first(seq__14044__$1);
cljs.core._write(writer," ");
cljs.core.pr_writer(obj,writer,opts);
var G__14056 = cljs.core.next(seq__14044__$1);
var G__14057 = null;
var G__14058 = (0);
var G__14059 = (0);
seq__14044 = G__14056;
chunk__14045 = G__14057;
count__14046 = G__14058;
i__14047 = G__14059;
continue;
}
} else {
return null;
}
}
break;
}
});
cljs.core.pr_sb_with_opts = (function cljs$core$pr_sb_with_opts(objs,opts){
var sb = (new goog.string.StringBuffer());
var writer = (new cljs.core.StringBufferWriter(sb));
cljs.core.pr_seq_writer(objs,writer,opts);
writer.cljs$core$IWriter$_flush$arity$1(null);
return sb;
});
/**
* Prints a sequence of objects to a string, observing all the
* options given in opts
*/
cljs.core.pr_str_with_opts = (function cljs$core$pr_str_with_opts(objs,opts){
if(cljs.core.empty_QMARK_(objs)){
return "";
} else {
return [cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.pr_sb_with_opts(objs,opts))].join('');
}
});
/**
* Same as pr-str-with-opts followed by (newline)
*/
cljs.core.prn_str_with_opts = (function cljs$core$prn_str_with_opts(objs,opts){
if(cljs.core.empty_QMARK_(objs)){
return "\n";
} else {
var sb = cljs.core.pr_sb_with_opts(objs,opts);
sb.append("\n");
return [cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb)].join('');
}
});
/**
* Prints a sequence of objects using string-print, observing all
* the options given in opts
*/
cljs.core.pr_with_opts = (function cljs$core$pr_with_opts(objs,opts){
return cljs.core.string_print(cljs.core.pr_str_with_opts(objs,opts));
});
/**
* Prints a newline using *print-fn*
*/
cljs.core.newline = (function cljs$core$newline(var_args){
var G__14061 = arguments.length;
switch (G__14061) {
case 0:
return cljs.core.newline.cljs$core$IFn$_invoke$arity$0();
break;
case 1:
return cljs.core.newline.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.newline.cljs$core$IFn$_invoke$arity$0 = (function (){
return cljs.core.newline.cljs$core$IFn$_invoke$arity$1(null);
});
cljs.core.newline.cljs$core$IFn$_invoke$arity$1 = (function (opts){
cljs.core.string_print("\n");
if(cljs.core.truth_(cljs.core.get.cljs$core$IFn$_invoke$arity$2(opts,cljs.core.cst$kw$flush_DASH_on_DASH_newline))){
return cljs.core.flush();
} else {
return null;
}
});
cljs.core.newline.cljs$lang$maxFixedArity = 1;
/**
* pr to a string, returning it. Fundamental entrypoint to IPrintWithWriter.
*/
cljs.core.pr_str = (function cljs$core$pr_str(var_args){
var args__10068__auto__ = [];
var len__10061__auto___14064 = arguments.length;
var i__10062__auto___14065 = (0);
while(true){
if((i__10062__auto___14065 < len__10061__auto___14064)){
args__10068__auto__.push((arguments[i__10062__auto___14065]));
var G__14066 = (i__10062__auto___14065 + (1));
i__10062__auto___14065 = G__14066;
continue;
} else {
}
break;
}
var argseq__10069__auto__ = ((((0) < args__10068__auto__.length))?(new cljs.core.IndexedSeq(args__10068__auto__.slice((0)),(0),null)):null);
return cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(argseq__10069__auto__);
});
cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic = (function (objs){
return cljs.core.pr_str_with_opts(objs,cljs.core.pr_opts());
});
cljs.core.pr_str.cljs$lang$maxFixedArity = (0);
cljs.core.pr_str.cljs$lang$applyTo = (function (seq14063){
return cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq14063));
});
/**
* Same as pr-str followed by (newline)
*/
cljs.core.prn_str = (function cljs$core$prn_str(var_args){
var args__10068__auto__ = [];
var len__10061__auto___14068 = arguments.length;
var i__10062__auto___14069 = (0);
while(true){
if((i__10062__auto___14069 < len__10061__auto___14068)){
args__10068__auto__.push((arguments[i__10062__auto___14069]));
var G__14070 = (i__10062__auto___14069 + (1));
i__10062__auto___14069 = G__14070;
continue;
} else {
}
break;
}
var argseq__10069__auto__ = ((((0) < args__10068__auto__.length))?(new cljs.core.IndexedSeq(args__10068__auto__.slice((0)),(0),null)):null);
return cljs.core.prn_str.cljs$core$IFn$_invoke$arity$variadic(argseq__10069__auto__);
});
cljs.core.prn_str.cljs$core$IFn$_invoke$arity$variadic = (function (objs){
return cljs.core.prn_str_with_opts(objs,cljs.core.pr_opts());
});
cljs.core.prn_str.cljs$lang$maxFixedArity = (0);
cljs.core.prn_str.cljs$lang$applyTo = (function (seq14067){
return cljs.core.prn_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq14067));
});
/**
* Prints the object(s) using string-print. Prints the
* object(s), separated by spaces if there is more than one.
* By default, pr and prn print in a way that objects can be
* read by the reader
*/
cljs.core.pr = (function cljs$core$pr(var_args){
var args__10068__auto__ = [];
var len__10061__auto___14072 = arguments.length;
var i__10062__auto___14073 = (0);
while(true){
if((i__10062__auto___14073 < len__10061__auto___14072)){
args__10068__auto__.push((arguments[i__10062__auto___14073]));
var G__14074 = (i__10062__auto___14073 + (1));
i__10062__auto___14073 = G__14074;
continue;
} else {
}
break;
}
var argseq__10069__auto__ = ((((0) < args__10068__auto__.length))?(new cljs.core.IndexedSeq(args__10068__auto__.slice((0)),(0),null)):null);
return cljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(argseq__10069__auto__);
});
cljs.core.pr.cljs$core$IFn$_invoke$arity$variadic = (function (objs){
return cljs.core.pr_with_opts(objs,cljs.core.pr_opts());
});
cljs.core.pr.cljs$lang$maxFixedArity = (0);
cljs.core.pr.cljs$lang$applyTo = (function (seq14071){
return cljs.core.pr.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq14071));
});
/**
* Prints the object(s) using string-print.
* print and println produce output for human consumption.
* @param {...*} var_args
*/
cljs.core.print = (function() {
var cljs$core$cljs_core_print__delegate = function (objs){
return cljs.core.pr_with_opts(objs,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.pr_opts(),cljs.core.cst$kw$readably,false));
};
var cljs$core$cljs_core_print = function (var_args){
var objs = null;
if (arguments.length > 0) {
var G__14075__i = 0, G__14075__a = new Array(arguments.length - 0);
while (G__14075__i < G__14075__a.length) {G__14075__a[G__14075__i] = arguments[G__14075__i + 0]; ++G__14075__i;}
objs = new cljs.core.IndexedSeq(G__14075__a,0,null);
}
return cljs$core$cljs_core_print__delegate.call(this,objs);};
cljs$core$cljs_core_print.cljs$lang$maxFixedArity = 0;
cljs$core$cljs_core_print.cljs$lang$applyTo = (function (arglist__14076){
var objs = cljs.core.seq(arglist__14076);
return cljs$core$cljs_core_print__delegate(objs);
});
cljs$core$cljs_core_print.cljs$core$IFn$_invoke$arity$variadic = cljs$core$cljs_core_print__delegate;
return cljs$core$cljs_core_print;
})()
;
/**
* print to a string, returning it
*/
cljs.core.print_str = (function cljs$core$print_str(var_args){
var args__10068__auto__ = [];
var len__10061__auto___14078 = arguments.length;
var i__10062__auto___14079 = (0);
while(true){
if((i__10062__auto___14079 < len__10061__auto___14078)){
args__10068__auto__.push((arguments[i__10062__auto___14079]));
var G__14080 = (i__10062__auto___14079 + (1));
i__10062__auto___14079 = G__14080;
continue;
} else {
}
break;
}
var argseq__10069__auto__ = ((((0) < args__10068__auto__.length))?(new cljs.core.IndexedSeq(args__10068__auto__.slice((0)),(0),null)):null);
return cljs.core.print_str.cljs$core$IFn$_invoke$arity$variadic(argseq__10069__auto__);
});
cljs.core.print_str.cljs$core$IFn$_invoke$arity$variadic = (function (objs){
return cljs.core.pr_str_with_opts(objs,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.pr_opts(),cljs.core.cst$kw$readably,false));
});
cljs.core.print_str.cljs$lang$maxFixedArity = (0);
cljs.core.print_str.cljs$lang$applyTo = (function (seq14077){
return cljs.core.print_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq14077));
});
/**
* Same as print followed by (newline)
*/
cljs.core.println = (function cljs$core$println(var_args){
var args__10068__auto__ = [];
var len__10061__auto___14082 = arguments.length;
var i__10062__auto___14083 = (0);
while(true){
if((i__10062__auto___14083 < len__10061__auto___14082)){
args__10068__auto__.push((arguments[i__10062__auto___14083]));
var G__14084 = (i__10062__auto___14083 + (1));
i__10062__auto___14083 = G__14084;
continue;
} else {
}
break;
}
var argseq__10069__auto__ = ((((0) < args__10068__auto__.length))?(new cljs.core.IndexedSeq(args__10068__auto__.slice((0)),(0),null)):null);
return cljs.core.println.cljs$core$IFn$_invoke$arity$variadic(argseq__10069__auto__);
});
cljs.core.println.cljs$core$IFn$_invoke$arity$variadic = (function (objs){
cljs.core.pr_with_opts(objs,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.pr_opts(),cljs.core.cst$kw$readably,false));
if(cljs.core._STAR_print_newline_STAR_){
return cljs.core.newline.cljs$core$IFn$_invoke$arity$1(cljs.core.pr_opts());
} else {
return null;
}
});
cljs.core.println.cljs$lang$maxFixedArity = (0);
cljs.core.println.cljs$lang$applyTo = (function (seq14081){
return cljs.core.println.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq14081));
});
/**
* println to a string, returning it
*/
cljs.core.println_str = (function cljs$core$println_str(var_args){
var args__10068__auto__ = [];
var len__10061__auto___14086 = arguments.length;
var i__10062__auto___14087 = (0);
while(true){
if((i__10062__auto___14087 < len__10061__auto___14086)){
args__10068__auto__.push((arguments[i__10062__auto___14087]));
var G__14088 = (i__10062__auto___14087 + (1));
i__10062__auto___14087 = G__14088;
continue;
} else {
}
break;
}
var argseq__10069__auto__ = ((((0) < args__10068__auto__.length))?(new cljs.core.IndexedSeq(args__10068__auto__.slice((0)),(0),null)):null);
return cljs.core.println_str.cljs$core$IFn$_invoke$arity$variadic(argseq__10069__auto__);
});
cljs.core.println_str.cljs$core$IFn$_invoke$arity$variadic = (function (objs){
return cljs.core.prn_str_with_opts(objs,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.pr_opts(),cljs.core.cst$kw$readably,false));
});
cljs.core.println_str.cljs$lang$maxFixedArity = (0);
cljs.core.println_str.cljs$lang$applyTo = (function (seq14085){
return cljs.core.println_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq14085));
});
/**
* Same as pr followed by (newline).
*/
cljs.core.prn = (function cljs$core$prn(var_args){
var args__10068__auto__ = [];
var len__10061__auto___14090 = arguments.length;
var i__10062__auto___14091 = (0);
while(true){
if((i__10062__auto___14091 < len__10061__auto___14090)){
args__10068__auto__.push((arguments[i__10062__auto___14091]));
var G__14092 = (i__10062__auto___14091 + (1));
i__10062__auto___14091 = G__14092;
continue;
} else {
}
break;
}
var argseq__10069__auto__ = ((((0) < args__10068__auto__.length))?(new cljs.core.IndexedSeq(args__10068__auto__.slice((0)),(0),null)):null);
return cljs.core.prn.cljs$core$IFn$_invoke$arity$variadic(argseq__10069__auto__);
});
cljs.core.prn.cljs$core$IFn$_invoke$arity$variadic = (function (objs){
cljs.core.pr_with_opts(objs,cljs.core.pr_opts());
if(cljs.core._STAR_print_newline_STAR_){
return cljs.core.newline.cljs$core$IFn$_invoke$arity$1(cljs.core.pr_opts());
} else {
return null;
}
});
cljs.core.prn.cljs$lang$maxFixedArity = (0);
cljs.core.prn.cljs$lang$applyTo = (function (seq14089){
return cljs.core.prn.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq14089));
});
cljs.core.strip_ns = (function cljs$core$strip_ns(named){
if((named instanceof cljs.core.Symbol)){
return cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(null,cljs.core.name(named));
} else {
return cljs.core.keyword.cljs$core$IFn$_invoke$arity$2(null,cljs.core.name(named));
}
});
/**
* Returns [lifted-ns lifted-map] or nil if m can't be lifted.
*/
cljs.core.lift_ns = (function cljs$core$lift_ns(m){
if(cljs.core._STAR_print_namespace_maps_STAR_){
var ns = null;
var G__14099 = cljs.core.seq(m);
var vec__14100 = G__14099;
var seq__14101 = cljs.core.seq(vec__14100);
var first__14102 = cljs.core.first(seq__14101);
var seq__14101__$1 = cljs.core.next(seq__14101);
var vec__14103 = first__14102;
var k = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14103,(0),null);
var v = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14103,(1),null);
var entry = vec__14103;
var entries = seq__14101__$1;
var lm = cljs.core.empty(m);
var ns__$1 = ns;
var G__14099__$1 = G__14099;
var lm__$1 = lm;
while(true){
var ns__$2 = ns__$1;
var vec__14106 = G__14099__$1;
var seq__14107 = cljs.core.seq(vec__14106);
var first__14108 = cljs.core.first(seq__14107);
var seq__14107__$1 = cljs.core.next(seq__14107);
var vec__14109 = first__14108;
var k__$1 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14109,(0),null);
var v__$1 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14109,(1),null);
var entry__$1 = vec__14109;
var entries__$1 = seq__14107__$1;
var lm__$2 = lm__$1;
if(cljs.core.truth_(entry__$1)){
if(((k__$1 instanceof cljs.core.Keyword)) || ((k__$1 instanceof cljs.core.Symbol))){
if(cljs.core.truth_(ns__$2)){
if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ns__$2,cljs.core.namespace(k__$1))){
var G__14112 = ns__$2;
var G__14113 = entries__$1;
var G__14114 = cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(lm__$2,cljs.core.strip_ns(k__$1),v__$1);
ns__$1 = G__14112;
G__14099__$1 = G__14113;
lm__$1 = G__14114;
continue;
} else {
return null;
}
} else {
var temp__5457__auto__ = cljs.core.namespace(k__$1);
if(cljs.core.truth_(temp__5457__auto__)){
var new_ns = temp__5457__auto__;
var G__14115 = new_ns;
var G__14116 = entries__$1;
var G__14117 = cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(lm__$2,cljs.core.strip_ns(k__$1),v__$1);
ns__$1 = G__14115;
G__14099__$1 = G__14116;
lm__$1 = G__14117;
continue;
} else {
return null;
}
}
} else {
return null;
}
} else {
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [ns__$2,lm__$2], null);
}
break;
}
} else {
return null;
}
});
cljs.core.print_prefix_map = (function cljs$core$print_prefix_map(prefix,m,print_one,writer,opts){
return cljs.core.pr_sequential_writer(writer,(function (e,w,opts__$1){
var G__14118_14124 = cljs.core.key(e);
var G__14119_14125 = w;
var G__14120_14126 = opts__$1;
(print_one.cljs$core$IFn$_invoke$arity$3 ? print_one.cljs$core$IFn$_invoke$arity$3(G__14118_14124,G__14119_14125,G__14120_14126) : print_one.call(null,G__14118_14124,G__14119_14125,G__14120_14126));
cljs.core._write(w," ");
var G__14121 = cljs.core.val(e);
var G__14122 = w;
var G__14123 = opts__$1;
return (print_one.cljs$core$IFn$_invoke$arity$3 ? print_one.cljs$core$IFn$_invoke$arity$3(G__14121,G__14122,G__14123) : print_one.call(null,G__14121,G__14122,G__14123));
}),[cljs.core.str.cljs$core$IFn$_invoke$arity$1(prefix),"{"].join(''),", ","}",opts,cljs.core.seq(m));
});
cljs.core.print_map = (function cljs$core$print_map(m,print_one,writer,opts){
var vec__14127 = ((cljs.core.map_QMARK_(m))?cljs.core.lift_ns(m):null);
var ns = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14127,(0),null);
var lift_map = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14127,(1),null);
if(cljs.core.truth_(ns)){
return cljs.core.print_prefix_map(["#:",cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns)].join(''),lift_map,print_one,writer,opts);
} else {
return cljs.core.print_prefix_map(null,m,print_one,writer,opts);
}
});
cljs.core.Volatile.prototype.cljs$core$IPrintWithWriter$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.Volatile.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (a,writer,opts){
var a__$1 = this;
cljs.core._write(writer,"#object [cljs.core.Volatile ");
cljs.core.pr_writer(new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$val,a__$1.state], null),writer,opts);
return cljs.core._write(writer,"]");
});
cljs.core.Var.prototype.cljs$core$IPrintWithWriter$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.Var.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (a,writer,opts){
var a__$1 = this;
cljs.core._write(writer,"#'");
return cljs.core.pr_writer(a__$1.sym,writer,opts);
});
cljs.core.IndexedSeq.prototype.cljs$core$IPrintWithWriter$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.IndexedSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (coll,writer,opts){
var coll__$1 = this;
return cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,"("," ",")",opts,coll__$1);
});
cljs.core.LazySeq.prototype.cljs$core$IPrintWithWriter$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.LazySeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (coll,writer,opts){
var coll__$1 = this;
return cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,"("," ",")",opts,coll__$1);
});
cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IPrintWithWriter$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentTreeMapSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (coll,writer,opts){
var coll__$1 = this;
return cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,"("," ",")",opts,coll__$1);
});
cljs.core.NodeSeq.prototype.cljs$core$IPrintWithWriter$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.NodeSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (coll,writer,opts){
var coll__$1 = this;
return cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,"("," ",")",opts,coll__$1);
});
cljs.core.BlackNode.prototype.cljs$core$IPrintWithWriter$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.BlackNode.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (coll,writer,opts){
var coll__$1 = this;
return cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,"["," ","]",opts,coll__$1);
});
cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IPrintWithWriter$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentArrayMapSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (coll,writer,opts){
var coll__$1 = this;
return cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,"("," ",")",opts,coll__$1);
});
cljs.core.ES6IteratorSeq.prototype.cljs$core$IPrintWithWriter$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.ES6IteratorSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (coll,writer,opts){
var coll__$1 = this;
return cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,"("," ",")",opts,coll__$1);
});
cljs.core.PersistentTreeSet.prototype.cljs$core$IPrintWithWriter$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentTreeSet.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (coll,writer,opts){
var coll__$1 = this;
return cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,"#{"," ","}",opts,coll__$1);
});
cljs.core.ChunkedSeq.prototype.cljs$core$IPrintWithWriter$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.ChunkedSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (coll,writer,opts){
var coll__$1 = this;
return cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,"("," ",")",opts,coll__$1);
});
cljs.core.ObjMap.prototype.cljs$core$IPrintWithWriter$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.ObjMap.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (coll,writer,opts){
var coll__$1 = this;
return cljs.core.print_map(coll__$1,cljs.core.pr_writer,writer,opts);
});
cljs.core.Cons.prototype.cljs$core$IPrintWithWriter$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.Cons.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (coll,writer,opts){
var coll__$1 = this;
return cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,"("," ",")",opts,coll__$1);
});
cljs.core.RSeq.prototype.cljs$core$IPrintWithWriter$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.RSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (coll,writer,opts){
var coll__$1 = this;
return cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,"("," ",")",opts,coll__$1);
});
cljs.core.PersistentHashMap.prototype.cljs$core$IPrintWithWriter$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentHashMap.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (coll,writer,opts){
var coll__$1 = this;
return cljs.core.print_map(coll__$1,cljs.core.pr_writer,writer,opts);
});
cljs.core.ArrayNodeSeq.prototype.cljs$core$IPrintWithWriter$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.ArrayNodeSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (coll,writer,opts){
var coll__$1 = this;
return cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,"("," ",")",opts,coll__$1);
});
cljs.core.Subvec.prototype.cljs$core$IPrintWithWriter$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.Subvec.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (coll,writer,opts){
var coll__$1 = this;
return cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,"["," ","]",opts,coll__$1);
});
cljs.core.PersistentTreeMap.prototype.cljs$core$IPrintWithWriter$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentTreeMap.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (coll,writer,opts){
var coll__$1 = this;
return cljs.core.print_map(coll__$1,cljs.core.pr_writer,writer,opts);
});
cljs.core.PersistentHashSet.prototype.cljs$core$IPrintWithWriter$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentHashSet.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (coll,writer,opts){
var coll__$1 = this;
return cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,"#{"," ","}",opts,coll__$1);
});
cljs.core.ChunkedCons.prototype.cljs$core$IPrintWithWriter$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.ChunkedCons.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (coll,writer,opts){
var coll__$1 = this;
return cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,"("," ",")",opts,coll__$1);
});
cljs.core.Atom.prototype.cljs$core$IPrintWithWriter$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.Atom.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (a,writer,opts){
var a__$1 = this;
cljs.core._write(writer,"#object [cljs.core.Atom ");
cljs.core.pr_writer(new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$val,a__$1.state], null),writer,opts);
return cljs.core._write(writer,"]");
});
cljs.core.ValSeq.prototype.cljs$core$IPrintWithWriter$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.ValSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (coll,writer,opts){
var coll__$1 = this;
return cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,"("," ",")",opts,coll__$1);
});
cljs.core.RedNode.prototype.cljs$core$IPrintWithWriter$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.RedNode.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (coll,writer,opts){
var coll__$1 = this;
return cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,"["," ","]",opts,coll__$1);
});
cljs.core.PersistentVector.prototype.cljs$core$IPrintWithWriter$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentVector.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (coll,writer,opts){
var coll__$1 = this;
return cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,"["," ","]",opts,coll__$1);
});
cljs.core.PersistentQueueSeq.prototype.cljs$core$IPrintWithWriter$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentQueueSeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (coll,writer,opts){
var coll__$1 = this;
return cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,"("," ",")",opts,coll__$1);
});
cljs.core.EmptyList.prototype.cljs$core$IPrintWithWriter$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.EmptyList.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (coll,writer,opts){
var coll__$1 = this;
return cljs.core._write(writer,"()");
});
cljs.core.PersistentQueue.prototype.cljs$core$IPrintWithWriter$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentQueue.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (coll,writer,opts){
var coll__$1 = this;
return cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,"#queue ["," ","]",opts,cljs.core.seq(coll__$1));
});
cljs.core.PersistentArrayMap.prototype.cljs$core$IPrintWithWriter$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentArrayMap.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (coll,writer,opts){
var coll__$1 = this;
return cljs.core.print_map(coll__$1,cljs.core.pr_writer,writer,opts);
});
cljs.core.Range.prototype.cljs$core$IPrintWithWriter$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.Range.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (coll,writer,opts){
var coll__$1 = this;
return cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,"("," ",")",opts,coll__$1);
});
cljs.core.TransformerIterator.prototype.cljs$core$IPrintWithWriter$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.TransformerIterator.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (coll,writer,opts){
var coll__$1 = this;
return cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,"("," ",")",opts,coll__$1);
});
cljs.core.KeySeq.prototype.cljs$core$IPrintWithWriter$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.KeySeq.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (coll,writer,opts){
var coll__$1 = this;
return cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,"("," ",")",opts,coll__$1);
});
cljs.core.List.prototype.cljs$core$IPrintWithWriter$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.List.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (coll,writer,opts){
var coll__$1 = this;
return cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,"("," ",")",opts,coll__$1);
});
cljs.core.Symbol.prototype.cljs$core$IComparable$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.Symbol.prototype.cljs$core$IComparable$_compare$arity$2 = (function (x,y){
var x__$1 = this;
if((y instanceof cljs.core.Symbol)){
return cljs.core.compare_symbols(x__$1,y);
} else {
throw (new Error(["Cannot compare ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(x__$1)," to ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join('')));
}
});
cljs.core.Keyword.prototype.cljs$core$IComparable$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.Keyword.prototype.cljs$core$IComparable$_compare$arity$2 = (function (x,y){
var x__$1 = this;
if((y instanceof cljs.core.Keyword)){
return cljs.core.compare_keywords(x__$1,y);
} else {
throw (new Error(["Cannot compare ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(x__$1)," to ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join('')));
}
});
cljs.core.Subvec.prototype.cljs$core$IComparable$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.Subvec.prototype.cljs$core$IComparable$_compare$arity$2 = (function (x,y){
var x__$1 = this;
if(cljs.core.vector_QMARK_(y)){
return cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2(x__$1,y);
} else {
throw (new Error(["Cannot compare ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(x__$1)," to ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join('')));
}
});
cljs.core.PersistentVector.prototype.cljs$core$IComparable$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.PersistentVector.prototype.cljs$core$IComparable$_compare$arity$2 = (function (x,y){
var x__$1 = this;
if(cljs.core.vector_QMARK_(y)){
return cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2(x__$1,y);
} else {
throw (new Error(["Cannot compare ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(x__$1)," to ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join('')));
}
});
cljs.core.MapEntry.prototype.cljs$core$IComparable$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.MapEntry.prototype.cljs$core$IComparable$_compare$arity$2 = (function (x,y){
var x__$1 = this;
if(cljs.core.vector_QMARK_(y)){
return cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2(x__$1,y);
} else {
throw (new Error(["Cannot compare ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(x__$1)," to ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join('')));
}
});
cljs.core.BlackNode.prototype.cljs$core$IComparable$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.BlackNode.prototype.cljs$core$IComparable$_compare$arity$2 = (function (x,y){
var x__$1 = this;
if(cljs.core.vector_QMARK_(y)){
return cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2(x__$1,y);
} else {
throw (new Error(["Cannot compare ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(x__$1)," to ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join('')));
}
});
cljs.core.RedNode.prototype.cljs$core$IComparable$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.RedNode.prototype.cljs$core$IComparable$_compare$arity$2 = (function (x,y){
var x__$1 = this;
if(cljs.core.vector_QMARK_(y)){
return cljs.core.compare_indexed.cljs$core$IFn$_invoke$arity$2(x__$1,y);
} else {
throw (new Error(["Cannot compare ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(x__$1)," to ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(y)].join('')));
}
});
/**
* Atomically sets the metadata for a namespace/var/ref/agent/atom to be:
*
* (apply f its-current-meta args)
*
* f must be free of side-effects
*/
cljs.core.alter_meta_BANG_ = (function cljs$core$alter_meta_BANG_(var_args){
var args__10068__auto__ = [];
var len__10061__auto___14133 = arguments.length;
var i__10062__auto___14134 = (0);
while(true){
if((i__10062__auto___14134 < len__10061__auto___14133)){
args__10068__auto__.push((arguments[i__10062__auto___14134]));
var G__14135 = (i__10062__auto___14134 + (1));
i__10062__auto___14134 = G__14135;
continue;
} else {
}
break;
}
var argseq__10069__auto__ = ((((2) < args__10068__auto__.length))?(new cljs.core.IndexedSeq(args__10068__auto__.slice((2)),(0),null)):null);
return cljs.core.alter_meta_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),argseq__10069__auto__);
});
cljs.core.alter_meta_BANG_.cljs$core$IFn$_invoke$arity$variadic = (function (iref,f,args){
return iref.meta = cljs.core.apply.cljs$core$IFn$_invoke$arity$3(f,iref.meta,args);
});
cljs.core.alter_meta_BANG_.cljs$lang$maxFixedArity = (2);
cljs.core.alter_meta_BANG_.cljs$lang$applyTo = (function (seq14130){
var G__14131 = cljs.core.first(seq14130);
var seq14130__$1 = cljs.core.next(seq14130);
var G__14132 = cljs.core.first(seq14130__$1);
var seq14130__$2 = cljs.core.next(seq14130__$1);
return cljs.core.alter_meta_BANG_.cljs$core$IFn$_invoke$arity$variadic(G__14131,G__14132,seq14130__$2);
});
/**
* Atomically resets the metadata for an atom
*/
cljs.core.reset_meta_BANG_ = (function cljs$core$reset_meta_BANG_(iref,m){
return iref.meta = m;
});
/**
* Adds a watch function to an atom reference. The watch fn must be a
* fn of 4 args: a key, the reference, its old-state, its
* new-state. Whenever the reference's state might have been changed,
* any registered watches will have their functions called. The watch
* fn will be called synchronously. Note that an atom's state
* may have changed again prior to the fn call, so use old/new-state
* rather than derefing the reference. Keys must be unique per
* reference, and can be used to remove the watch with remove-watch,
* but are otherwise considered opaque by the watch mechanism. Bear in
* mind that regardless of the result or action of the watch fns the
* atom's value will change. Example:
*
* (def a (atom 0))
* (add-watch a :inc (fn [k r o n] (assert (== 0 n))))
* (swap! a inc)
* ;; Assertion Error
* (deref a)
* ;=> 1
*/
cljs.core.add_watch = (function cljs$core$add_watch(iref,key,f){
cljs.core._add_watch(iref,key,f);
return iref;
});
/**
* Removes a watch (set by add-watch) from a reference
*/
cljs.core.remove_watch = (function cljs$core$remove_watch(iref,key){
cljs.core._remove_watch(iref,key);
return iref;
});
/**
* @type {*}
*/
cljs.core.gensym_counter = null;
/**
* Returns a new symbol with a unique name. If a prefix string is
* supplied, the name is prefix# where # is some unique number. If
* prefix is not supplied, the prefix is 'G__'.
*/
cljs.core.gensym = (function cljs$core$gensym(var_args){
var G__14137 = arguments.length;
switch (G__14137) {
case 0:
return cljs.core.gensym.cljs$core$IFn$_invoke$arity$0();
break;
case 1:
return cljs.core.gensym.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.gensym.cljs$core$IFn$_invoke$arity$0 = (function (){
return cljs.core.gensym.cljs$core$IFn$_invoke$arity$1("G__");
});
cljs.core.gensym.cljs$core$IFn$_invoke$arity$1 = (function (prefix_string){
if((cljs.core.gensym_counter == null)){
cljs.core.gensym_counter = cljs.core.atom.cljs$core$IFn$_invoke$arity$1((0));
} else {
}
return cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([cljs.core.str.cljs$core$IFn$_invoke$arity$1(prefix_string),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(cljs.core.gensym_counter,cljs.core.inc))].join(''));
});
cljs.core.gensym.cljs$lang$maxFixedArity = 1;
cljs.core.fixture1 = (1);
cljs.core.fixture2 = (2);
/**
* @constructor
* @implements {cljs.core.IPending}
* @implements {cljs.core.IDeref}
*/
cljs.core.Delay = (function (f,value){
this.f = f;
this.value = value;
this.cljs$lang$protocol_mask$partition0$ = 32768;
this.cljs$lang$protocol_mask$partition1$ = 1;
});
cljs.core.Delay.prototype.cljs$core$IDeref$_deref$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
if(cljs.core.truth_(self__.f)){
self__.value = (self__.f.cljs$core$IFn$_invoke$arity$0 ? self__.f.cljs$core$IFn$_invoke$arity$0() : self__.f.call(null));
self__.f = null;
} else {
}
return self__.value;
});
cljs.core.Delay.prototype.cljs$core$IPending$_realized_QMARK_$arity$1 = (function (x){
var self__ = this;
var x__$1 = this;
return cljs.core.not(self__.f);
});
cljs.core.Delay.getBasis = (function (){
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.with_meta(cljs.core.cst$sym$f,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null)),cljs.core.with_meta(cljs.core.cst$sym$value,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null))], null);
});
cljs.core.Delay.cljs$lang$type = true;
cljs.core.Delay.cljs$lang$ctorStr = "cljs.core/Delay";
cljs.core.Delay.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/Delay");
});
cljs.core.__GT_Delay = (function cljs$core$__GT_Delay(f,value){
return (new cljs.core.Delay(f,value));
});
/**
* returns true if x is a Delay created with delay
*/
cljs.core.delay_QMARK_ = (function cljs$core$delay_QMARK_(x){
return (x instanceof cljs.core.Delay);
});
/**
* If x is a Delay, returns the (possibly cached) value of its expression, else returns x
*/
cljs.core.force = (function cljs$core$force(x){
if(cljs.core.delay_QMARK_(x)){
return cljs.core.deref(x);
} else {
return x;
}
});
/**
* Returns true if a value has been produced for a delay or lazy sequence.
*/
cljs.core.realized_QMARK_ = (function cljs$core$realized_QMARK_(x){
return cljs.core._realized_QMARK_(x);
});
cljs.core.preserving_reduced = (function cljs$core$preserving_reduced(rf){
return (function (p1__14139_SHARP_,p2__14140_SHARP_){
var ret = (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(p1__14139_SHARP_,p2__14140_SHARP_) : rf.call(null,p1__14139_SHARP_,p2__14140_SHARP_));
if(cljs.core.reduced_QMARK_(ret)){
return cljs.core.reduced(ret);
} else {
return ret;
}
});
});
/**
* A transducer which concatenates the contents of each input, which must be a
* collection, into the reduction.
*/
cljs.core.cat = (function cljs$core$cat(rf){
var rf1 = cljs.core.preserving_reduced(rf);
return ((function (rf1){
return (function() {
var G__14141 = null;
var G__14141__0 = (function (){
return (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));
});
var G__14141__1 = (function (result){
return (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));
});
var G__14141__2 = (function (result,input){
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(rf1,result,input);
});
G__14141 = function(result,input){
switch(arguments.length){
case 0:
return G__14141__0.call(this);
case 1:
return G__14141__1.call(this,result);
case 2:
return G__14141__2.call(this,result,input);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__14141.cljs$core$IFn$_invoke$arity$0 = G__14141__0;
G__14141.cljs$core$IFn$_invoke$arity$1 = G__14141__1;
G__14141.cljs$core$IFn$_invoke$arity$2 = G__14141__2;
return G__14141;
})()
;})(rf1))
});
/**
* Returns a transducer that ends transduction when pred returns true
* for an input. When retf is supplied it must be a fn of 2 arguments -
* it will be passed the (completed) result so far and the input that
* triggered the predicate, and its return value (if it does not throw
* an exception) will be the return value of the transducer. If retf
* is not supplied, the input that triggered the predicate will be
* returned. If the predicate never returns true the transduction is
* unaffected.
*/
cljs.core.halt_when = (function cljs$core$halt_when(var_args){
var G__14143 = arguments.length;
switch (G__14143) {
case 1:
return cljs.core.halt_when.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.halt_when.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.halt_when.cljs$core$IFn$_invoke$arity$1 = (function (pred){
return cljs.core.halt_when.cljs$core$IFn$_invoke$arity$2(pred,null);
});
cljs.core.halt_when.cljs$core$IFn$_invoke$arity$2 = (function (pred,retf){
return (function (rf){
return (function() {
var G__14147 = null;
var G__14147__0 = (function (){
return (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));
});
var G__14147__1 = (function (result){
if((cljs.core.map_QMARK_(result)) && (cljs.core.contains_QMARK_(result,cljs.core.cst$kw$cljs$core_SLASH_halt))){
return cljs.core.cst$kw$cljs$core_SLASH_halt.cljs$core$IFn$_invoke$arity$1(result);
} else {
return (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));
}
});
var G__14147__2 = (function (result,input){
if(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$1 ? pred.cljs$core$IFn$_invoke$arity$1(input) : pred.call(null,input)))){
return cljs.core.reduced(new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$cljs$core_SLASH_halt,(cljs.core.truth_(retf)?(function (){var G__14144 = (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));
var G__14145 = input;
return (retf.cljs$core$IFn$_invoke$arity$2 ? retf.cljs$core$IFn$_invoke$arity$2(G__14144,G__14145) : retf.call(null,G__14144,G__14145));
})():input)], null));
} else {
return (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));
}
});
G__14147 = function(result,input){
switch(arguments.length){
case 0:
return G__14147__0.call(this);
case 1:
return G__14147__1.call(this,result);
case 2:
return G__14147__2.call(this,result,input);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__14147.cljs$core$IFn$_invoke$arity$0 = G__14147__0;
G__14147.cljs$core$IFn$_invoke$arity$1 = G__14147__1;
G__14147.cljs$core$IFn$_invoke$arity$2 = G__14147__2;
return G__14147;
})()
});
});
cljs.core.halt_when.cljs$lang$maxFixedArity = 2;
/**
* Returns a lazy sequence removing consecutive duplicates in coll.
* Returns a transducer when no collection is provided.
*/
cljs.core.dedupe = (function cljs$core$dedupe(var_args){
var G__14149 = arguments.length;
switch (G__14149) {
case 0:
return cljs.core.dedupe.cljs$core$IFn$_invoke$arity$0();
break;
case 1:
return cljs.core.dedupe.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.dedupe.cljs$core$IFn$_invoke$arity$0 = (function (){
return (function (rf){
var pa = cljs.core.volatile_BANG_(cljs.core.cst$kw$cljs$core_SLASH_none);
return ((function (pa){
return (function() {
var G__14151 = null;
var G__14151__0 = (function (){
return (rf.cljs$core$IFn$_invoke$arity$0 ? rf.cljs$core$IFn$_invoke$arity$0() : rf.call(null));
});
var G__14151__1 = (function (result){
return (rf.cljs$core$IFn$_invoke$arity$1 ? rf.cljs$core$IFn$_invoke$arity$1(result) : rf.call(null,result));
});
var G__14151__2 = (function (result,input){
var prior = cljs.core.deref(pa);
cljs.core.vreset_BANG_(pa,input);
if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(prior,input)){
return result;
} else {
return (rf.cljs$core$IFn$_invoke$arity$2 ? rf.cljs$core$IFn$_invoke$arity$2(result,input) : rf.call(null,result,input));
}
});
G__14151 = function(result,input){
switch(arguments.length){
case 0:
return G__14151__0.call(this);
case 1:
return G__14151__1.call(this,result);
case 2:
return G__14151__2.call(this,result,input);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__14151.cljs$core$IFn$_invoke$arity$0 = G__14151__0;
G__14151.cljs$core$IFn$_invoke$arity$1 = G__14151__1;
G__14151.cljs$core$IFn$_invoke$arity$2 = G__14151__2;
return G__14151;
})()
;})(pa))
});
});
cljs.core.dedupe.cljs$core$IFn$_invoke$arity$1 = (function (coll){
return cljs.core.sequence.cljs$core$IFn$_invoke$arity$2(cljs.core.dedupe.cljs$core$IFn$_invoke$arity$0(),coll);
});
cljs.core.dedupe.cljs$lang$maxFixedArity = 1;
/**
* Returns items from coll with random probability of prob (0.0 -
* 1.0). Returns a transducer when no collection is provided.
*/
cljs.core.random_sample = (function cljs$core$random_sample(var_args){
var G__14153 = arguments.length;
switch (G__14153) {
case 1:
return cljs.core.random_sample.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.random_sample.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.random_sample.cljs$core$IFn$_invoke$arity$1 = (function (prob){
return cljs.core.filter.cljs$core$IFn$_invoke$arity$1((function (_){
return (cljs.core.rand.cljs$core$IFn$_invoke$arity$0() < prob);
}));
});
cljs.core.random_sample.cljs$core$IFn$_invoke$arity$2 = (function (prob,coll){
return cljs.core.filter.cljs$core$IFn$_invoke$arity$2((function (_){
return (cljs.core.rand.cljs$core$IFn$_invoke$arity$0() < prob);
}),coll);
});
cljs.core.random_sample.cljs$lang$maxFixedArity = 2;
/**
* @constructor
* @implements {cljs.core.ISeqable}
* @implements {cljs.core.IPrintWithWriter}
* @implements {cljs.core.IIterable}
* @implements {cljs.core.ISequential}
* @implements {cljs.core.IReduce}
*/
cljs.core.Eduction = (function (xform,coll){
this.xform = xform;
this.coll = coll;
this.cljs$lang$protocol_mask$partition0$ = 2173173760;
this.cljs$lang$protocol_mask$partition1$ = 131072;
});
cljs.core.Eduction.prototype.indexOf = (function() {
var G__14155 = null;
var G__14155__1 = (function (x){
var self__ = this;
var coll__$1 = this;
return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll__$1,x,(0));
});
var G__14155__2 = (function (x,start){
var self__ = this;
var coll__$1 = this;
return cljs.core._indexOf.cljs$core$IFn$_invoke$arity$3(coll__$1,x,start);
});
G__14155 = function(x,start){
switch(arguments.length){
case 1:
return G__14155__1.call(this,x);
case 2:
return G__14155__2.call(this,x,start);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__14155.cljs$core$IFn$_invoke$arity$1 = G__14155__1;
G__14155.cljs$core$IFn$_invoke$arity$2 = G__14155__2;
return G__14155;
})()
;
cljs.core.Eduction.prototype.lastIndexOf = (function() {
var G__14156 = null;
var G__14156__1 = (function (x){
var self__ = this;
var coll__$1 = this;
return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll__$1,x,cljs.core.count(coll__$1));
});
var G__14156__2 = (function (x,start){
var self__ = this;
var coll__$1 = this;
return cljs.core._lastIndexOf.cljs$core$IFn$_invoke$arity$3(coll__$1,x,start);
});
G__14156 = function(x,start){
switch(arguments.length){
case 1:
return G__14156__1.call(this,x);
case 2:
return G__14156__2.call(this,x,start);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__14156.cljs$core$IFn$_invoke$arity$1 = G__14156__1;
G__14156.cljs$core$IFn$_invoke$arity$2 = G__14156__2;
return G__14156;
})()
;
cljs.core.Eduction.prototype.cljs$core$IIterable$_iterator$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return cljs.core.TransformerIterator.create(self__.xform,cljs.core.iter(self__.coll));
});
cljs.core.Eduction.prototype.cljs$core$ISeqable$_seq$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return cljs.core.seq(cljs.core.sequence.cljs$core$IFn$_invoke$arity$2(self__.xform,self__.coll));
});
cljs.core.Eduction.prototype.cljs$core$IReduce$_reduce$arity$2 = (function (_,f){
var self__ = this;
var ___$1 = this;
return cljs.core.transduce.cljs$core$IFn$_invoke$arity$3(self__.xform,cljs.core.completing.cljs$core$IFn$_invoke$arity$1(f),self__.coll);
});
cljs.core.Eduction.prototype.cljs$core$IReduce$_reduce$arity$3 = (function (_,f,init){
var self__ = this;
var ___$1 = this;
return cljs.core.transduce.cljs$core$IFn$_invoke$arity$4(self__.xform,cljs.core.completing.cljs$core$IFn$_invoke$arity$1(f),init,self__.coll);
});
cljs.core.Eduction.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (coll__$1,writer,opts){
var self__ = this;
var coll__$2 = this;
return cljs.core.pr_sequential_writer(writer,cljs.core.pr_writer,"("," ",")",opts,coll__$2);
});
cljs.core.Eduction.getBasis = (function (){
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$xform,cljs.core.cst$sym$coll], null);
});
cljs.core.Eduction.cljs$lang$type = true;
cljs.core.Eduction.cljs$lang$ctorStr = "cljs.core/Eduction";
cljs.core.Eduction.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/Eduction");
});
cljs.core.__GT_Eduction = (function cljs$core$__GT_Eduction(xform,coll){
return (new cljs.core.Eduction(xform,coll));
});
var G__14157_14160 = cljs.core.Eduction.prototype;
var G__14158_14161 = cljs.core.ITER_SYMBOL;
var G__14159_14162 = ((function (G__14157_14160,G__14158_14161){
return (function (){
var this__9929__auto__ = this;
return cljs.core.es6_iterator(this__9929__auto__);
});})(G__14157_14160,G__14158_14161))
;
goog.object.set(G__14157_14160,G__14158_14161,G__14159_14162);
/**
* Returns a reducible/iterable application of the transducers
* to the items in coll. Transducers are applied in order as if
* combined with comp. Note that these applications will be
* performed every time reduce/iterator is called.
*/
cljs.core.eduction = (function cljs$core$eduction(var_args){
var args__10068__auto__ = [];
var len__10061__auto___14164 = arguments.length;
var i__10062__auto___14165 = (0);
while(true){
if((i__10062__auto___14165 < len__10061__auto___14164)){
args__10068__auto__.push((arguments[i__10062__auto___14165]));
var G__14166 = (i__10062__auto___14165 + (1));
i__10062__auto___14165 = G__14166;
continue;
} else {
}
break;
}
var argseq__10069__auto__ = ((((0) < args__10068__auto__.length))?(new cljs.core.IndexedSeq(args__10068__auto__.slice((0)),(0),null)):null);
return cljs.core.eduction.cljs$core$IFn$_invoke$arity$variadic(argseq__10069__auto__);
});
cljs.core.eduction.cljs$core$IFn$_invoke$arity$variadic = (function (xforms){
return (new cljs.core.Eduction(cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.comp,cljs.core.butlast(xforms)),cljs.core.last(xforms)));
});
cljs.core.eduction.cljs$lang$maxFixedArity = (0);
cljs.core.eduction.cljs$lang$applyTo = (function (seq14163){
return cljs.core.eduction.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq(seq14163));
});
/**
* Runs the supplied procedure (via reduce), for purposes of side
* effects, on successive items in the collection. Returns nil
*/
cljs.core.run_BANG_ = (function cljs$core$run_BANG_(proc,coll){
cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__14168_SHARP_,p2__14167_SHARP_){
return (proc.cljs$core$IFn$_invoke$arity$1 ? proc.cljs$core$IFn$_invoke$arity$1(p2__14167_SHARP_) : proc.call(null,p2__14167_SHARP_));
}),null,coll);
return null;
});
/**
* @interface
*/
cljs.core.IEncodeJS = function(){};
/**
* Recursively transforms clj values to JavaScript
*/
cljs.core._clj__GT_js = (function cljs$core$_clj__GT_js(x){
if((!((x == null))) && (!((x.cljs$core$IEncodeJS$_clj__GT_js$arity$1 == null)))){
return x.cljs$core$IEncodeJS$_clj__GT_js$arity$1(x);
} else {
var x__9515__auto__ = (((x == null))?null:x);
var m__9516__auto__ = (cljs.core._clj__GT_js[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__9516__auto__.call(null,x));
} else {
var m__9516__auto____$1 = (cljs.core._clj__GT_js["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1(x) : m__9516__auto____$1.call(null,x));
} else {
throw cljs.core.missing_protocol("IEncodeJS.-clj->js",x);
}
}
}
});
/**
* Transforms map keys to valid JavaScript keys. Arbitrary keys are
* encoded to their string representation via (pr-str x)
*/
cljs.core._key__GT_js = (function cljs$core$_key__GT_js(x){
if((!((x == null))) && (!((x.cljs$core$IEncodeJS$_key__GT_js$arity$1 == null)))){
return x.cljs$core$IEncodeJS$_key__GT_js$arity$1(x);
} else {
var x__9515__auto__ = (((x == null))?null:x);
var m__9516__auto__ = (cljs.core._key__GT_js[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$1(x) : m__9516__auto__.call(null,x));
} else {
var m__9516__auto____$1 = (cljs.core._key__GT_js["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1(x) : m__9516__auto____$1.call(null,x));
} else {
throw cljs.core.missing_protocol("IEncodeJS.-key->js",x);
}
}
}
});
cljs.core.key__GT_js = (function cljs$core$key__GT_js(k){
if(((!((k == null)))?(((false) || ((cljs.core.PROTOCOL_SENTINEL === k.cljs$core$IEncodeJS$)))?true:(((!k.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(cljs.core.IEncodeJS,k):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IEncodeJS,k))){
return cljs.core._clj__GT_js(k);
} else {
if((typeof k === 'string') || (typeof k === 'number') || ((k instanceof cljs.core.Keyword)) || ((k instanceof cljs.core.Symbol))){
return cljs.core.clj__GT_js(k);
} else {
return cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([k], 0));
}
}
});
/**
* Recursively transforms ClojureScript values to JavaScript.
* sets/vectors/lists become Arrays, Keywords and Symbol become Strings,
* Maps become Objects. Arbitrary keys are encoded to by key->js.
*/
cljs.core.clj__GT_js = (function cljs$core$clj__GT_js(x){
if((x == null)){
return null;
} else {
if(((!((x == null)))?(((false) || ((cljs.core.PROTOCOL_SENTINEL === x.cljs$core$IEncodeJS$)))?true:(((!x.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(cljs.core.IEncodeJS,x):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IEncodeJS,x))){
return cljs.core._clj__GT_js(x);
} else {
if((x instanceof cljs.core.Keyword)){
return cljs.core.name(x);
} else {
if((x instanceof cljs.core.Symbol)){
return [cljs.core.str.cljs$core$IFn$_invoke$arity$1(x)].join('');
} else {
if(cljs.core.map_QMARK_(x)){
var m = {};
var seq__14173_14193 = cljs.core.seq(x);
var chunk__14174_14194 = null;
var count__14175_14195 = (0);
var i__14176_14196 = (0);
while(true){
if((i__14176_14196 < count__14175_14195)){
var vec__14177_14197 = chunk__14174_14194.cljs$core$IIndexed$_nth$arity$2(null,i__14176_14196);
var k_14198 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14177_14197,(0),null);
var v_14199 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14177_14197,(1),null);
var G__14180_14200 = m;
var G__14181_14201 = cljs.core.key__GT_js(k_14198);
var G__14182_14202 = (cljs.core.clj__GT_js.cljs$core$IFn$_invoke$arity$1 ? cljs.core.clj__GT_js.cljs$core$IFn$_invoke$arity$1(v_14199) : cljs.core.clj__GT_js.call(null,v_14199));
goog.object.set(G__14180_14200,G__14181_14201,G__14182_14202);
var G__14203 = seq__14173_14193;
var G__14204 = chunk__14174_14194;
var G__14205 = count__14175_14195;
var G__14206 = (i__14176_14196 + (1));
seq__14173_14193 = G__14203;
chunk__14174_14194 = G__14204;
count__14175_14195 = G__14205;
i__14176_14196 = G__14206;
continue;
} else {
var temp__5457__auto___14207 = cljs.core.seq(seq__14173_14193);
if(temp__5457__auto___14207){
var seq__14173_14208__$1 = temp__5457__auto___14207;
if(cljs.core.chunked_seq_QMARK_(seq__14173_14208__$1)){
var c__9713__auto___14209 = cljs.core.chunk_first(seq__14173_14208__$1);
var G__14210 = cljs.core.chunk_rest(seq__14173_14208__$1);
var G__14211 = c__9713__auto___14209;
var G__14212 = cljs.core.count(c__9713__auto___14209);
var G__14213 = (0);
seq__14173_14193 = G__14210;
chunk__14174_14194 = G__14211;
count__14175_14195 = G__14212;
i__14176_14196 = G__14213;
continue;
} else {
var vec__14183_14214 = cljs.core.first(seq__14173_14208__$1);
var k_14215 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14183_14214,(0),null);
var v_14216 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14183_14214,(1),null);
var G__14186_14217 = m;
var G__14187_14218 = cljs.core.key__GT_js(k_14215);
var G__14188_14219 = (cljs.core.clj__GT_js.cljs$core$IFn$_invoke$arity$1 ? cljs.core.clj__GT_js.cljs$core$IFn$_invoke$arity$1(v_14216) : cljs.core.clj__GT_js.call(null,v_14216));
goog.object.set(G__14186_14217,G__14187_14218,G__14188_14219);
var G__14220 = cljs.core.next(seq__14173_14208__$1);
var G__14221 = null;
var G__14222 = (0);
var G__14223 = (0);
seq__14173_14193 = G__14220;
chunk__14174_14194 = G__14221;
count__14175_14195 = G__14222;
i__14176_14196 = G__14223;
continue;
}
} else {
}
}
break;
}
return m;
} else {
if(cljs.core.coll_QMARK_(x)){
var arr = [];
var seq__14189_14224 = cljs.core.seq(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs.core.clj__GT_js,x));
var chunk__14190_14225 = null;
var count__14191_14226 = (0);
var i__14192_14227 = (0);
while(true){
if((i__14192_14227 < count__14191_14226)){
var x_14228__$1 = chunk__14190_14225.cljs$core$IIndexed$_nth$arity$2(null,i__14192_14227);
arr.push(x_14228__$1);
var G__14229 = seq__14189_14224;
var G__14230 = chunk__14190_14225;
var G__14231 = count__14191_14226;
var G__14232 = (i__14192_14227 + (1));
seq__14189_14224 = G__14229;
chunk__14190_14225 = G__14230;
count__14191_14226 = G__14231;
i__14192_14227 = G__14232;
continue;
} else {
var temp__5457__auto___14233 = cljs.core.seq(seq__14189_14224);
if(temp__5457__auto___14233){
var seq__14189_14234__$1 = temp__5457__auto___14233;
if(cljs.core.chunked_seq_QMARK_(seq__14189_14234__$1)){
var c__9713__auto___14235 = cljs.core.chunk_first(seq__14189_14234__$1);
var G__14236 = cljs.core.chunk_rest(seq__14189_14234__$1);
var G__14237 = c__9713__auto___14235;
var G__14238 = cljs.core.count(c__9713__auto___14235);
var G__14239 = (0);
seq__14189_14224 = G__14236;
chunk__14190_14225 = G__14237;
count__14191_14226 = G__14238;
i__14192_14227 = G__14239;
continue;
} else {
var x_14240__$1 = cljs.core.first(seq__14189_14234__$1);
arr.push(x_14240__$1);
var G__14241 = cljs.core.next(seq__14189_14234__$1);
var G__14242 = null;
var G__14243 = (0);
var G__14244 = (0);
seq__14189_14224 = G__14241;
chunk__14190_14225 = G__14242;
count__14191_14226 = G__14243;
i__14192_14227 = G__14244;
continue;
}
} else {
}
}
break;
}
return arr;
} else {
return x;
}
}
}
}
}
}
});
/**
* @interface
*/
cljs.core.IEncodeClojure = function(){};
/**
* Transforms JavaScript values to Clojure
*/
cljs.core._js__GT_clj = (function cljs$core$_js__GT_clj(x,options){
if((!((x == null))) && (!((x.cljs$core$IEncodeClojure$_js__GT_clj$arity$2 == null)))){
return x.cljs$core$IEncodeClojure$_js__GT_clj$arity$2(x,options);
} else {
var x__9515__auto__ = (((x == null))?null:x);
var m__9516__auto__ = (cljs.core._js__GT_clj[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$2 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$2(x,options) : m__9516__auto__.call(null,x,options));
} else {
var m__9516__auto____$1 = (cljs.core._js__GT_clj["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$2 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$2(x,options) : m__9516__auto____$1.call(null,x,options));
} else {
throw cljs.core.missing_protocol("IEncodeClojure.-js->clj",x);
}
}
}
});
/**
* Recursively transforms JavaScript arrays into ClojureScript
* vectors, and JavaScript objects into ClojureScript maps. With
* option ':keywordize-keys true' will convert object fields from
* strings to keywords.
*/
cljs.core.js__GT_clj = (function cljs$core$js__GT_clj(var_args){
var G__14248 = arguments.length;
switch (G__14248) {
case 1:
return cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___14257 = arguments.length;
var i__10062__auto___14258 = (0);
while(true){
if((i__10062__auto___14258 < len__10061__auto___14257)){
args_arr__10084__auto__.push((arguments[i__10062__auto___14258]));
var G__14259 = (i__10062__auto___14258 + (1));
i__10062__auto___14258 = G__14259;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((1)),(0),null));
return cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__10085__auto__);
}
});
cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$1 = (function (x){
return cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$variadic(x,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.cst$kw$keywordize_DASH_keys,false], 0));
});
cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$variadic = (function (x,opts){
var map__14249 = opts;
var map__14249__$1 = ((((!((map__14249 == null)))?((((map__14249.cljs$lang$protocol_mask$partition0$ & (64))) || ((cljs.core.PROTOCOL_SENTINEL === map__14249.cljs$core$ISeq$)))?true:false):false))?cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.hash_map,map__14249):map__14249);
var keywordize_keys = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__14249__$1,cljs.core.cst$kw$keywordize_DASH_keys);
var keyfn = (cljs.core.truth_(keywordize_keys)?cljs.core.keyword:cljs.core.str);
var f = ((function (map__14249,map__14249__$1,keywordize_keys,keyfn){
return (function cljs$core$thisfn(x__$1){
if(((!((x__$1 == null)))?(((false) || ((cljs.core.PROTOCOL_SENTINEL === x__$1.cljs$core$IEncodeClojure$)))?true:(((!x__$1.cljs$lang$protocol_mask$partition$))?cljs.core.native_satisfies_QMARK_(cljs.core.IEncodeClojure,x__$1):false)):cljs.core.native_satisfies_QMARK_(cljs.core.IEncodeClojure,x__$1))){
return cljs.core._js__GT_clj(x__$1,cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.array_map,opts));
} else {
if(cljs.core.seq_QMARK_(x__$1)){
return cljs.core.doall.cljs$core$IFn$_invoke$arity$1(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs$core$thisfn,x__$1));
} else {
if(cljs.core.coll_QMARK_(x__$1)){
return cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.empty(x__$1),cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs$core$thisfn,x__$1));
} else {
if(cljs.core.array_QMARK_(x__$1)){
return cljs.core.vec(cljs.core.map.cljs$core$IFn$_invoke$arity$2(cljs$core$thisfn,x__$1));
} else {
if((cljs.core.type(x__$1) === Object)){
return cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,(function (){var iter__9664__auto__ = ((function (map__14249,map__14249__$1,keywordize_keys,keyfn){
return (function cljs$core$thisfn_$_iter__14252(s__14253){
return (new cljs.core.LazySeq(null,((function (map__14249,map__14249__$1,keywordize_keys,keyfn){
return (function (){
var s__14253__$1 = s__14253;
while(true){
var temp__5457__auto__ = cljs.core.seq(s__14253__$1);
if(temp__5457__auto__){
var s__14253__$2 = temp__5457__auto__;
if(cljs.core.chunked_seq_QMARK_(s__14253__$2)){
var c__9662__auto__ = cljs.core.chunk_first(s__14253__$2);
var size__9663__auto__ = cljs.core.count(c__9662__auto__);
var b__14255 = cljs.core.chunk_buffer(size__9663__auto__);
if((function (){var i__14254 = (0);
while(true){
if((i__14254 < size__9663__auto__)){
var k = cljs.core._nth.cljs$core$IFn$_invoke$arity$2(c__9662__auto__,i__14254);
cljs.core.chunk_append(b__14255,new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(keyfn.cljs$core$IFn$_invoke$arity$1 ? keyfn.cljs$core$IFn$_invoke$arity$1(k) : keyfn.call(null,k)),cljs$core$thisfn((x__$1[k]))], null));
var G__14260 = (i__14254 + (1));
i__14254 = G__14260;
continue;
} else {
return true;
}
break;
}
})()){
return cljs.core.chunk_cons(cljs.core.chunk(b__14255),cljs$core$thisfn_$_iter__14252(cljs.core.chunk_rest(s__14253__$2)));
} else {
return cljs.core.chunk_cons(cljs.core.chunk(b__14255),null);
}
} else {
var k = cljs.core.first(s__14253__$2);
return cljs.core.cons(new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(keyfn.cljs$core$IFn$_invoke$arity$1 ? keyfn.cljs$core$IFn$_invoke$arity$1(k) : keyfn.call(null,k)),cljs$core$thisfn((x__$1[k]))], null),cljs$core$thisfn_$_iter__14252(cljs.core.rest(s__14253__$2)));
}
} else {
return null;
}
break;
}
});})(map__14249,map__14249__$1,keywordize_keys,keyfn))
,null,null));
});})(map__14249,map__14249__$1,keywordize_keys,keyfn))
;
return iter__9664__auto__(cljs.core.js_keys(x__$1));
})());
} else {
return x__$1;
}
}
}
}
}
});})(map__14249,map__14249__$1,keywordize_keys,keyfn))
;
return f(x);
});
cljs.core.js__GT_clj.cljs$lang$applyTo = (function (seq14246){
var G__14247 = cljs.core.first(seq14246);
var seq14246__$1 = cljs.core.next(seq14246);
return cljs.core.js__GT_clj.cljs$core$IFn$_invoke$arity$variadic(G__14247,seq14246__$1);
});
cljs.core.js__GT_clj.cljs$lang$maxFixedArity = (1);
/**
* Returns a memoized version of a referentially transparent function. The
* memoized version of the function keeps a cache of the mapping from arguments
* to results and, when calls with the same arguments are repeated often, has
* higher performance at the expense of higher memory use.
*/
cljs.core.memoize = (function cljs$core$memoize(f){
var mem = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);
return ((function (mem){
return (function() {
var G__14261__delegate = function (args){
var v = cljs.core.get.cljs$core$IFn$_invoke$arity$3(cljs.core.deref(mem),args,cljs.core.lookup_sentinel);
if((v === cljs.core.lookup_sentinel)){
var ret = cljs.core.apply.cljs$core$IFn$_invoke$arity$2(f,args);
cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(mem,cljs.core.assoc,args,ret);
return ret;
} else {
return v;
}
};
var G__14261 = function (var_args){
var args = null;
if (arguments.length > 0) {
var G__14262__i = 0, G__14262__a = new Array(arguments.length - 0);
while (G__14262__i < G__14262__a.length) {G__14262__a[G__14262__i] = arguments[G__14262__i + 0]; ++G__14262__i;}
args = new cljs.core.IndexedSeq(G__14262__a,0,null);
}
return G__14261__delegate.call(this,args);};
G__14261.cljs$lang$maxFixedArity = 0;
G__14261.cljs$lang$applyTo = (function (arglist__14263){
var args = cljs.core.seq(arglist__14263);
return G__14261__delegate(args);
});
G__14261.cljs$core$IFn$_invoke$arity$variadic = G__14261__delegate;
return G__14261;
})()
;
;})(mem))
});
/**
* trampoline can be used to convert algorithms requiring mutual
* recursion without stack consumption. Calls f with supplied args, if
* any. If f returns a fn, calls that fn with no arguments, and
* continues to repeat, until the return value is not a fn, then
* returns that non-fn value. Note that if you want to return a fn as a
* final value, you must wrap it in some data structure and unpack it
* after trampoline returns.
*/
cljs.core.trampoline = (function cljs$core$trampoline(var_args){
var G__14267 = arguments.length;
switch (G__14267) {
case 1:
return cljs.core.trampoline.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
default:
var args_arr__10084__auto__ = [];
var len__10061__auto___14269 = arguments.length;
var i__10062__auto___14270 = (0);
while(true){
if((i__10062__auto___14270 < len__10061__auto___14269)){
args_arr__10084__auto__.push((arguments[i__10062__auto___14270]));
var G__14271 = (i__10062__auto___14270 + (1));
i__10062__auto___14270 = G__14271;
continue;
} else {
}
break;
}
var argseq__10085__auto__ = (new cljs.core.IndexedSeq(args_arr__10084__auto__.slice((1)),(0),null));
return cljs.core.trampoline.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__10085__auto__);
}
});
cljs.core.trampoline.cljs$core$IFn$_invoke$arity$1 = (function (f){
while(true){
var ret = (f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));
if(cljs.core.fn_QMARK_(ret)){
var G__14272 = ret;
f = G__14272;
continue;
} else {
return ret;
}
break;
}
});
cljs.core.trampoline.cljs$core$IFn$_invoke$arity$variadic = (function (f,args){
return cljs.core.trampoline.cljs$core$IFn$_invoke$arity$1((function (){
return cljs.core.apply.cljs$core$IFn$_invoke$arity$2(f,args);
}));
});
cljs.core.trampoline.cljs$lang$applyTo = (function (seq14265){
var G__14266 = cljs.core.first(seq14265);
var seq14265__$1 = cljs.core.next(seq14265);
return cljs.core.trampoline.cljs$core$IFn$_invoke$arity$variadic(G__14266,seq14265__$1);
});
cljs.core.trampoline.cljs$lang$maxFixedArity = (1);
/**
* Returns a random floating point number between 0 (inclusive) and
* n (default 1) (exclusive).
*/
cljs.core.rand = (function cljs$core$rand(var_args){
var G__14274 = arguments.length;
switch (G__14274) {
case 0:
return cljs.core.rand.cljs$core$IFn$_invoke$arity$0();
break;
case 1:
return cljs.core.rand.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.rand.cljs$core$IFn$_invoke$arity$0 = (function (){
return cljs.core.rand.cljs$core$IFn$_invoke$arity$1((1));
});
cljs.core.rand.cljs$core$IFn$_invoke$arity$1 = (function (n){
return (Math.random() * n);
});
cljs.core.rand.cljs$lang$maxFixedArity = 1;
/**
* Returns a random integer between 0 (inclusive) and n (exclusive).
*/
cljs.core.rand_int = (function cljs$core$rand_int(n){
var G__14276 = (Math.random() * n);
return Math.floor(G__14276);
});
/**
* Return a random element of the (sequential) collection. Will have
* the same performance characteristics as nth for the given
* collection.
*/
cljs.core.rand_nth = (function cljs$core$rand_nth(coll){
return cljs.core.nth.cljs$core$IFn$_invoke$arity$2(coll,cljs.core.rand_int(cljs.core.count(coll)));
});
/**
* Returns a map of the elements of coll keyed by the result of
* f on each element. The value at each key will be a vector of the
* corresponding elements, in the order they appeared in coll.
*/
cljs.core.group_by = (function cljs$core$group_by(f,coll){
return cljs.core.persistent_BANG_(cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (ret,x){
var k = (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(x) : f.call(null,x));
return cljs.core.assoc_BANG_.cljs$core$IFn$_invoke$arity$3(ret,k,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$3(ret,k,cljs.core.PersistentVector.EMPTY),x));
}),cljs.core.transient$(cljs.core.PersistentArrayMap.EMPTY),coll));
});
/**
* Creates a hierarchy object for use with derive, isa? etc.
*/
cljs.core.make_hierarchy = (function cljs$core$make_hierarchy(){
return new cljs.core.PersistentArrayMap(null, 3, [cljs.core.cst$kw$parents,cljs.core.PersistentArrayMap.EMPTY,cljs.core.cst$kw$descendants,cljs.core.PersistentArrayMap.EMPTY,cljs.core.cst$kw$ancestors,cljs.core.PersistentArrayMap.EMPTY], null);
});
/**
* @type {*}
*/
cljs.core._global_hierarchy = null;
cljs.core.get_global_hierarchy = (function cljs$core$get_global_hierarchy(){
if((cljs.core._global_hierarchy == null)){
cljs.core._global_hierarchy = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.make_hierarchy());
} else {
}
return cljs.core._global_hierarchy;
});
cljs.core.swap_global_hierarchy_BANG_ = (function cljs$core$swap_global_hierarchy_BANG_(var_args){
var args__10068__auto__ = [];
var len__10061__auto___14279 = arguments.length;
var i__10062__auto___14280 = (0);
while(true){
if((i__10062__auto___14280 < len__10061__auto___14279)){
args__10068__auto__.push((arguments[i__10062__auto___14280]));
var G__14281 = (i__10062__auto___14280 + (1));
i__10062__auto___14280 = G__14281;
continue;
} else {
}
break;
}
var argseq__10069__auto__ = ((((1) < args__10068__auto__.length))?(new cljs.core.IndexedSeq(args__10068__auto__.slice((1)),(0),null)):null);
return cljs.core.swap_global_hierarchy_BANG_.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),argseq__10069__auto__);
});
cljs.core.swap_global_hierarchy_BANG_.cljs$core$IFn$_invoke$arity$variadic = (function (f,args){
return cljs.core.apply.cljs$core$IFn$_invoke$arity$4(cljs.core.swap_BANG_,cljs.core.get_global_hierarchy(),f,args);
});
cljs.core.swap_global_hierarchy_BANG_.cljs$lang$maxFixedArity = (1);
cljs.core.swap_global_hierarchy_BANG_.cljs$lang$applyTo = (function (seq14277){
var G__14278 = cljs.core.first(seq14277);
var seq14277__$1 = cljs.core.next(seq14277);
return cljs.core.swap_global_hierarchy_BANG_.cljs$core$IFn$_invoke$arity$variadic(G__14278,seq14277__$1);
});
/**
* Returns true if (= child parent), or child is directly or indirectly derived from
* parent, either via a JavaScript type inheritance relationship or a
* relationship established via derive. h must be a hierarchy obtained
* from make-hierarchy, if not supplied defaults to the global
* hierarchy
*/
cljs.core.isa_QMARK_ = (function cljs$core$isa_QMARK_(var_args){
var G__14283 = arguments.length;
switch (G__14283) {
case 2:
return cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$2 = (function (child,parent){
return cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3(cljs.core.deref(cljs.core.get_global_hierarchy()),child,parent);
});
cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3 = (function (h,child,parent){
var or__8782__auto__ = cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(child,parent);
if(or__8782__auto__){
return or__8782__auto__;
} else {
var or__8782__auto____$1 = cljs.core.contains_QMARK_((function (){var fexpr__14286 = cljs.core.cst$kw$ancestors.cljs$core$IFn$_invoke$arity$1(h);
return (fexpr__14286.cljs$core$IFn$_invoke$arity$1 ? fexpr__14286.cljs$core$IFn$_invoke$arity$1(child) : fexpr__14286.call(null,child));
})(),parent);
if(or__8782__auto____$1){
return or__8782__auto____$1;
} else {
var and__8770__auto__ = cljs.core.vector_QMARK_(parent);
if(and__8770__auto__){
var and__8770__auto____$1 = cljs.core.vector_QMARK_(child);
if(and__8770__auto____$1){
var and__8770__auto____$2 = (cljs.core.count(parent) === cljs.core.count(child));
if(and__8770__auto____$2){
var ret = true;
var i = (0);
while(true){
if((!(ret)) || ((i === cljs.core.count(parent)))){
return ret;
} else {
var G__14288 = cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3(h,(child.cljs$core$IFn$_invoke$arity$1 ? child.cljs$core$IFn$_invoke$arity$1(i) : child.call(null,i)),(parent.cljs$core$IFn$_invoke$arity$1 ? parent.cljs$core$IFn$_invoke$arity$1(i) : parent.call(null,i)));
var G__14289 = (i + (1));
ret = G__14288;
i = G__14289;
continue;
}
break;
}
} else {
return and__8770__auto____$2;
}
} else {
return and__8770__auto____$1;
}
} else {
return and__8770__auto__;
}
}
}
});
cljs.core.isa_QMARK_.cljs$lang$maxFixedArity = 3;
/**
* Returns the immediate parents of tag, either via a JavaScript type
* inheritance relationship or a relationship established via derive. h
* must be a hierarchy obtained from make-hierarchy, if not supplied
* defaults to the global hierarchy
*/
cljs.core.parents = (function cljs$core$parents(var_args){
var G__14291 = arguments.length;
switch (G__14291) {
case 1:
return cljs.core.parents.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.parents.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.parents.cljs$core$IFn$_invoke$arity$1 = (function (tag){
return cljs.core.parents.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.core.get_global_hierarchy()),tag);
});
cljs.core.parents.cljs$core$IFn$_invoke$arity$2 = (function (h,tag){
return cljs.core.not_empty(cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$parents.cljs$core$IFn$_invoke$arity$1(h),tag));
});
cljs.core.parents.cljs$lang$maxFixedArity = 2;
/**
* Returns the immediate and indirect parents of tag, either via a JavaScript type
* inheritance relationship or a relationship established via derive. h
* must be a hierarchy obtained from make-hierarchy, if not supplied
* defaults to the global hierarchy
*/
cljs.core.ancestors = (function cljs$core$ancestors(var_args){
var G__14294 = arguments.length;
switch (G__14294) {
case 1:
return cljs.core.ancestors.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.ancestors.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.ancestors.cljs$core$IFn$_invoke$arity$1 = (function (tag){
return cljs.core.ancestors.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.core.get_global_hierarchy()),tag);
});
cljs.core.ancestors.cljs$core$IFn$_invoke$arity$2 = (function (h,tag){
return cljs.core.not_empty(cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$ancestors.cljs$core$IFn$_invoke$arity$1(h),tag));
});
cljs.core.ancestors.cljs$lang$maxFixedArity = 2;
/**
* Returns the immediate and indirect children of tag, through a
* relationship established via derive. h must be a hierarchy obtained
* from make-hierarchy, if not supplied defaults to the global
* hierarchy. Note: does not work on JavaScript type inheritance
* relationships.
*/
cljs.core.descendants = (function cljs$core$descendants(var_args){
var G__14297 = arguments.length;
switch (G__14297) {
case 1:
return cljs.core.descendants.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.descendants.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.descendants.cljs$core$IFn$_invoke$arity$1 = (function (tag){
return cljs.core.descendants.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.core.get_global_hierarchy()),tag);
});
cljs.core.descendants.cljs$core$IFn$_invoke$arity$2 = (function (h,tag){
return cljs.core.not_empty(cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.cst$kw$descendants.cljs$core$IFn$_invoke$arity$1(h),tag));
});
cljs.core.descendants.cljs$lang$maxFixedArity = 2;
/**
* Establishes a parent/child relationship between parent and
* tag. Parent must be a namespace-qualified symbol or keyword and
* child can be either a namespace-qualified symbol or keyword or a
* class. h must be a hierarchy obtained from make-hierarchy, if not
* supplied defaults to, and modifies, the global hierarchy.
*/
cljs.core.derive = (function cljs$core$derive(var_args){
var G__14300 = arguments.length;
switch (G__14300) {
case 2:
return cljs.core.derive.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.derive.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.derive.cljs$core$IFn$_invoke$arity$2 = (function (tag,parent){
if(cljs.core.truth_(cljs.core.namespace(parent))){
} else {
throw (new Error("Assert failed: (namespace parent)"));
}
cljs.core.swap_global_hierarchy_BANG_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.derive,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([tag,parent], 0));
return null;
});
cljs.core.derive.cljs$core$IFn$_invoke$arity$3 = (function (h,tag,parent){
if(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(tag,parent)){
} else {
throw (new Error("Assert failed: (not= tag parent)"));
}
var tp = cljs.core.cst$kw$parents.cljs$core$IFn$_invoke$arity$1(h);
var td = cljs.core.cst$kw$descendants.cljs$core$IFn$_invoke$arity$1(h);
var ta = cljs.core.cst$kw$ancestors.cljs$core$IFn$_invoke$arity$1(h);
var tf = ((function (tp,td,ta){
return (function (m,source,sources,target,targets){
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(((function (tp,td,ta){
return (function (ret,k){
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ret,k,cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(cljs.core.conj,cljs.core.get.cljs$core$IFn$_invoke$arity$3(targets,k,cljs.core.PersistentHashSet.EMPTY),cljs.core.cons(target,(targets.cljs$core$IFn$_invoke$arity$1 ? targets.cljs$core$IFn$_invoke$arity$1(target) : targets.call(null,target)))));
});})(tp,td,ta))
,m,cljs.core.cons(source,(sources.cljs$core$IFn$_invoke$arity$1 ? sources.cljs$core$IFn$_invoke$arity$1(source) : sources.call(null,source))));
});})(tp,td,ta))
;
var or__8782__auto__ = ((cljs.core.contains_QMARK_((tp.cljs$core$IFn$_invoke$arity$1 ? tp.cljs$core$IFn$_invoke$arity$1(tag) : tp.call(null,tag)),parent))?null:(function (){
if(cljs.core.contains_QMARK_((ta.cljs$core$IFn$_invoke$arity$1 ? ta.cljs$core$IFn$_invoke$arity$1(tag) : ta.call(null,tag)),parent)){
throw (new Error([cljs.core.str.cljs$core$IFn$_invoke$arity$1(tag),"already has",cljs.core.str.cljs$core$IFn$_invoke$arity$1(parent),"as ancestor"].join('')));
} else {
}
if(cljs.core.contains_QMARK_((ta.cljs$core$IFn$_invoke$arity$1 ? ta.cljs$core$IFn$_invoke$arity$1(parent) : ta.call(null,parent)),tag)){
throw (new Error(["Cyclic derivation:",cljs.core.str.cljs$core$IFn$_invoke$arity$1(parent),"has",cljs.core.str.cljs$core$IFn$_invoke$arity$1(tag),"as ancestor"].join('')));
} else {
}
return new cljs.core.PersistentArrayMap(null, 3, [cljs.core.cst$kw$parents,cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(cljs.core.cst$kw$parents.cljs$core$IFn$_invoke$arity$1(h),tag,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$3(tp,tag,cljs.core.PersistentHashSet.EMPTY),parent)),cljs.core.cst$kw$ancestors,tf(cljs.core.cst$kw$ancestors.cljs$core$IFn$_invoke$arity$1(h),tag,td,parent,ta),cljs.core.cst$kw$descendants,tf(cljs.core.cst$kw$descendants.cljs$core$IFn$_invoke$arity$1(h),parent,ta,tag,td)], null);
})()
);
if(cljs.core.truth_(or__8782__auto__)){
return or__8782__auto__;
} else {
return h;
}
});
cljs.core.derive.cljs$lang$maxFixedArity = 3;
/**
* Removes a parent/child relationship between parent and
* tag. h must be a hierarchy obtained from make-hierarchy, if not
* supplied defaults to, and modifies, the global hierarchy.
*/
cljs.core.underive = (function cljs$core$underive(var_args){
var G__14306 = arguments.length;
switch (G__14306) {
case 2:
return cljs.core.underive.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.underive.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.underive.cljs$core$IFn$_invoke$arity$2 = (function (tag,parent){
cljs.core.swap_global_hierarchy_BANG_.cljs$core$IFn$_invoke$arity$variadic(cljs.core.underive,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([tag,parent], 0));
return null;
});
cljs.core.underive.cljs$core$IFn$_invoke$arity$3 = (function (h,tag,parent){
var parentMap = cljs.core.cst$kw$parents.cljs$core$IFn$_invoke$arity$1(h);
var childsParents = (cljs.core.truth_((parentMap.cljs$core$IFn$_invoke$arity$1 ? parentMap.cljs$core$IFn$_invoke$arity$1(tag) : parentMap.call(null,tag)))?cljs.core.disj.cljs$core$IFn$_invoke$arity$2((parentMap.cljs$core$IFn$_invoke$arity$1 ? parentMap.cljs$core$IFn$_invoke$arity$1(tag) : parentMap.call(null,tag)),parent):cljs.core.PersistentHashSet.EMPTY);
var newParents = (cljs.core.truth_(cljs.core.not_empty(childsParents))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(parentMap,tag,childsParents):cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(parentMap,tag));
var deriv_seq = cljs.core.flatten(cljs.core.map.cljs$core$IFn$_invoke$arity$2(((function (parentMap,childsParents,newParents){
return (function (p1__14302_SHARP_){
return cljs.core.cons(cljs.core.first(p1__14302_SHARP_),cljs.core.interpose.cljs$core$IFn$_invoke$arity$2(cljs.core.first(p1__14302_SHARP_),cljs.core.second(p1__14302_SHARP_)));
});})(parentMap,childsParents,newParents))
,cljs.core.seq(newParents)));
if(cljs.core.contains_QMARK_((parentMap.cljs$core$IFn$_invoke$arity$1 ? parentMap.cljs$core$IFn$_invoke$arity$1(tag) : parentMap.call(null,tag)),parent)){
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(((function (parentMap,childsParents,newParents,deriv_seq){
return (function (p1__14303_SHARP_,p2__14304_SHARP_){
return cljs.core.apply.cljs$core$IFn$_invoke$arity$3(cljs.core.derive,p1__14303_SHARP_,p2__14304_SHARP_);
});})(parentMap,childsParents,newParents,deriv_seq))
,cljs.core.make_hierarchy(),cljs.core.partition.cljs$core$IFn$_invoke$arity$2((2),deriv_seq));
} else {
return h;
}
});
cljs.core.underive.cljs$lang$maxFixedArity = 3;
cljs.core.reset_cache = (function cljs$core$reset_cache(method_cache,method_table,cached_hierarchy,hierarchy){
cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(method_cache,(function (_){
return cljs.core.deref(method_table);
}));
return cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(cached_hierarchy,(function (_){
return cljs.core.deref(hierarchy);
}));
});
cljs.core.prefers_STAR_ = (function cljs$core$prefers_STAR_(x,y,prefer_table){
var xprefs = (function (){var fexpr__14308 = cljs.core.deref(prefer_table);
return (fexpr__14308.cljs$core$IFn$_invoke$arity$1 ? fexpr__14308.cljs$core$IFn$_invoke$arity$1(x) : fexpr__14308.call(null,x));
})();
var or__8782__auto__ = (cljs.core.truth_((function (){var and__8770__auto__ = xprefs;
if(cljs.core.truth_(and__8770__auto__)){
return (xprefs.cljs$core$IFn$_invoke$arity$1 ? xprefs.cljs$core$IFn$_invoke$arity$1(y) : xprefs.call(null,y));
} else {
return and__8770__auto__;
}
})())?true:null);
if(cljs.core.truth_(or__8782__auto__)){
return or__8782__auto__;
} else {
var or__8782__auto____$1 = (function (){var ps = cljs.core.parents.cljs$core$IFn$_invoke$arity$1(y);
while(true){
if((cljs.core.count(ps) > (0))){
if(cljs.core.truth_((function (){var G__14312 = x;
var G__14313 = cljs.core.first(ps);
var G__14314 = prefer_table;
return (cljs.core.prefers_STAR_.cljs$core$IFn$_invoke$arity$3 ? cljs.core.prefers_STAR_.cljs$core$IFn$_invoke$arity$3(G__14312,G__14313,G__14314) : cljs.core.prefers_STAR_.call(null,G__14312,G__14313,G__14314));
})())){
} else {
}
var G__14321 = cljs.core.rest(ps);
ps = G__14321;
continue;
} else {
return null;
}
break;
}
})();
if(cljs.core.truth_(or__8782__auto____$1)){
return or__8782__auto____$1;
} else {
var or__8782__auto____$2 = (function (){var ps = cljs.core.parents.cljs$core$IFn$_invoke$arity$1(x);
while(true){
if((cljs.core.count(ps) > (0))){
if(cljs.core.truth_((function (){var G__14318 = cljs.core.first(ps);
var G__14319 = y;
var G__14320 = prefer_table;
return (cljs.core.prefers_STAR_.cljs$core$IFn$_invoke$arity$3 ? cljs.core.prefers_STAR_.cljs$core$IFn$_invoke$arity$3(G__14318,G__14319,G__14320) : cljs.core.prefers_STAR_.call(null,G__14318,G__14319,G__14320));
})())){
} else {
}
var G__14322 = cljs.core.rest(ps);
ps = G__14322;
continue;
} else {
return null;
}
break;
}
})();
if(cljs.core.truth_(or__8782__auto____$2)){
return or__8782__auto____$2;
} else {
return false;
}
}
}
});
cljs.core.dominates = (function cljs$core$dominates(x,y,prefer_table,hierarchy){
var or__8782__auto__ = cljs.core.prefers_STAR_(x,y,prefer_table);
if(cljs.core.truth_(or__8782__auto__)){
return or__8782__auto__;
} else {
return cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3(hierarchy,x,y);
}
});
cljs.core.find_and_cache_best_method = (function cljs$core$find_and_cache_best_method(name,dispatch_val,hierarchy,method_table,prefer_table,method_cache,cached_hierarchy,default_dispatch_val){
var best_entry = cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (be,p__14323){
var vec__14324 = p__14323;
var k = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14324,(0),null);
var _ = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14324,(1),null);
var e = vec__14324;
if(cljs.core.isa_QMARK_.cljs$core$IFn$_invoke$arity$3(cljs.core.deref(hierarchy),dispatch_val,k)){
var be2 = (cljs.core.truth_((function (){var or__8782__auto__ = (be == null);
if(or__8782__auto__){
return or__8782__auto__;
} else {
return cljs.core.dominates(k,cljs.core.first(be),prefer_table,cljs.core.deref(hierarchy));
}
})())?e:be);
if(cljs.core.truth_(cljs.core.dominates(cljs.core.first(be2),k,prefer_table,cljs.core.deref(hierarchy)))){
} else {
throw (new Error(["Multiple methods in multimethod '",cljs.core.str.cljs$core$IFn$_invoke$arity$1(name),"' match dispatch value: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(dispatch_val)," -> ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(k)," and ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(be2)),", and neither is preferred"].join('')));
}
return be2;
} else {
return be;
}
}),null,cljs.core.deref(method_table));
var best_entry__$1 = (function (){var temp__5455__auto__ = (function (){var and__8770__auto__ = (best_entry == null);
if(and__8770__auto__){
var fexpr__14328 = cljs.core.deref(method_table);
return (fexpr__14328.cljs$core$IFn$_invoke$arity$1 ? fexpr__14328.cljs$core$IFn$_invoke$arity$1(default_dispatch_val) : fexpr__14328.call(null,default_dispatch_val));
} else {
return and__8770__auto__;
}
})();
if(cljs.core.truth_(temp__5455__auto__)){
var entry = temp__5455__auto__;
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [default_dispatch_val,entry], null);
} else {
return best_entry;
}
})();
if(cljs.core.truth_(best_entry__$1)){
if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cached_hierarchy),cljs.core.deref(hierarchy))){
cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(method_cache,cljs.core.assoc,dispatch_val,cljs.core.second(best_entry__$1));
return cljs.core.second(best_entry__$1);
} else {
cljs.core.reset_cache(method_cache,method_table,cached_hierarchy,hierarchy);
return (cljs.core.find_and_cache_best_method.cljs$core$IFn$_invoke$arity$8 ? cljs.core.find_and_cache_best_method.cljs$core$IFn$_invoke$arity$8(name,dispatch_val,hierarchy,method_table,prefer_table,method_cache,cached_hierarchy,default_dispatch_val) : cljs.core.find_and_cache_best_method.call(null,name,dispatch_val,hierarchy,method_table,prefer_table,method_cache,cached_hierarchy,default_dispatch_val));
}
} else {
return null;
}
});
/**
* @interface
*/
cljs.core.IMultiFn = function(){};
cljs.core._reset = (function cljs$core$_reset(mf){
if((!((mf == null))) && (!((mf.cljs$core$IMultiFn$_reset$arity$1 == null)))){
return mf.cljs$core$IMultiFn$_reset$arity$1(mf);
} else {
var x__9515__auto__ = (((mf == null))?null:mf);
var m__9516__auto__ = (cljs.core._reset[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__9516__auto__.call(null,mf));
} else {
var m__9516__auto____$1 = (cljs.core._reset["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1(mf) : m__9516__auto____$1.call(null,mf));
} else {
throw cljs.core.missing_protocol("IMultiFn.-reset",mf);
}
}
}
});
cljs.core._add_method = (function cljs$core$_add_method(mf,dispatch_val,method){
if((!((mf == null))) && (!((mf.cljs$core$IMultiFn$_add_method$arity$3 == null)))){
return mf.cljs$core$IMultiFn$_add_method$arity$3(mf,dispatch_val,method);
} else {
var x__9515__auto__ = (((mf == null))?null:mf);
var m__9516__auto__ = (cljs.core._add_method[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$3 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$3(mf,dispatch_val,method) : m__9516__auto__.call(null,mf,dispatch_val,method));
} else {
var m__9516__auto____$1 = (cljs.core._add_method["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$3 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$3(mf,dispatch_val,method) : m__9516__auto____$1.call(null,mf,dispatch_val,method));
} else {
throw cljs.core.missing_protocol("IMultiFn.-add-method",mf);
}
}
}
});
cljs.core._remove_method = (function cljs$core$_remove_method(mf,dispatch_val){
if((!((mf == null))) && (!((mf.cljs$core$IMultiFn$_remove_method$arity$2 == null)))){
return mf.cljs$core$IMultiFn$_remove_method$arity$2(mf,dispatch_val);
} else {
var x__9515__auto__ = (((mf == null))?null:mf);
var m__9516__auto__ = (cljs.core._remove_method[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$2 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$2(mf,dispatch_val) : m__9516__auto__.call(null,mf,dispatch_val));
} else {
var m__9516__auto____$1 = (cljs.core._remove_method["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$2 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$2(mf,dispatch_val) : m__9516__auto____$1.call(null,mf,dispatch_val));
} else {
throw cljs.core.missing_protocol("IMultiFn.-remove-method",mf);
}
}
}
});
cljs.core._prefer_method = (function cljs$core$_prefer_method(mf,dispatch_val,dispatch_val_y){
if((!((mf == null))) && (!((mf.cljs$core$IMultiFn$_prefer_method$arity$3 == null)))){
return mf.cljs$core$IMultiFn$_prefer_method$arity$3(mf,dispatch_val,dispatch_val_y);
} else {
var x__9515__auto__ = (((mf == null))?null:mf);
var m__9516__auto__ = (cljs.core._prefer_method[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$3 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$3(mf,dispatch_val,dispatch_val_y) : m__9516__auto__.call(null,mf,dispatch_val,dispatch_val_y));
} else {
var m__9516__auto____$1 = (cljs.core._prefer_method["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$3 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$3(mf,dispatch_val,dispatch_val_y) : m__9516__auto____$1.call(null,mf,dispatch_val,dispatch_val_y));
} else {
throw cljs.core.missing_protocol("IMultiFn.-prefer-method",mf);
}
}
}
});
cljs.core._get_method = (function cljs$core$_get_method(mf,dispatch_val){
if((!((mf == null))) && (!((mf.cljs$core$IMultiFn$_get_method$arity$2 == null)))){
return mf.cljs$core$IMultiFn$_get_method$arity$2(mf,dispatch_val);
} else {
var x__9515__auto__ = (((mf == null))?null:mf);
var m__9516__auto__ = (cljs.core._get_method[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$2 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$2(mf,dispatch_val) : m__9516__auto__.call(null,mf,dispatch_val));
} else {
var m__9516__auto____$1 = (cljs.core._get_method["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$2 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$2(mf,dispatch_val) : m__9516__auto____$1.call(null,mf,dispatch_val));
} else {
throw cljs.core.missing_protocol("IMultiFn.-get-method",mf);
}
}
}
});
cljs.core._methods = (function cljs$core$_methods(mf){
if((!((mf == null))) && (!((mf.cljs$core$IMultiFn$_methods$arity$1 == null)))){
return mf.cljs$core$IMultiFn$_methods$arity$1(mf);
} else {
var x__9515__auto__ = (((mf == null))?null:mf);
var m__9516__auto__ = (cljs.core._methods[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__9516__auto__.call(null,mf));
} else {
var m__9516__auto____$1 = (cljs.core._methods["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1(mf) : m__9516__auto____$1.call(null,mf));
} else {
throw cljs.core.missing_protocol("IMultiFn.-methods",mf);
}
}
}
});
cljs.core._prefers = (function cljs$core$_prefers(mf){
if((!((mf == null))) && (!((mf.cljs$core$IMultiFn$_prefers$arity$1 == null)))){
return mf.cljs$core$IMultiFn$_prefers$arity$1(mf);
} else {
var x__9515__auto__ = (((mf == null))?null:mf);
var m__9516__auto__ = (cljs.core._prefers[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__9516__auto__.call(null,mf));
} else {
var m__9516__auto____$1 = (cljs.core._prefers["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1(mf) : m__9516__auto____$1.call(null,mf));
} else {
throw cljs.core.missing_protocol("IMultiFn.-prefers",mf);
}
}
}
});
cljs.core._default_dispatch_val = (function cljs$core$_default_dispatch_val(mf){
if((!((mf == null))) && (!((mf.cljs$core$IMultiFn$_default_dispatch_val$arity$1 == null)))){
return mf.cljs$core$IMultiFn$_default_dispatch_val$arity$1(mf);
} else {
var x__9515__auto__ = (((mf == null))?null:mf);
var m__9516__auto__ = (cljs.core._default_dispatch_val[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__9516__auto__.call(null,mf));
} else {
var m__9516__auto____$1 = (cljs.core._default_dispatch_val["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1(mf) : m__9516__auto____$1.call(null,mf));
} else {
throw cljs.core.missing_protocol("IMultiFn.-default-dispatch-val",mf);
}
}
}
});
cljs.core._dispatch_fn = (function cljs$core$_dispatch_fn(mf){
if((!((mf == null))) && (!((mf.cljs$core$IMultiFn$_dispatch_fn$arity$1 == null)))){
return mf.cljs$core$IMultiFn$_dispatch_fn$arity$1(mf);
} else {
var x__9515__auto__ = (((mf == null))?null:mf);
var m__9516__auto__ = (cljs.core._dispatch_fn[goog.typeOf(x__9515__auto__)]);
if(!((m__9516__auto__ == null))){
return (m__9516__auto__.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto__.cljs$core$IFn$_invoke$arity$1(mf) : m__9516__auto__.call(null,mf));
} else {
var m__9516__auto____$1 = (cljs.core._dispatch_fn["_"]);
if(!((m__9516__auto____$1 == null))){
return (m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1 ? m__9516__auto____$1.cljs$core$IFn$_invoke$arity$1(mf) : m__9516__auto____$1.call(null,mf));
} else {
throw cljs.core.missing_protocol("IMultiFn.-dispatch-fn",mf);
}
}
}
});
cljs.core.throw_no_method_error = (function cljs$core$throw_no_method_error(name,dispatch_val){
throw (new Error(["No method in multimethod '",cljs.core.str.cljs$core$IFn$_invoke$arity$1(name),"' for dispatch value: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(dispatch_val)].join('')));
});
/**
* @constructor
* @implements {cljs.core.IHash}
* @implements {cljs.core.IFn}
* @implements {cljs.core.IMultiFn}
* @implements {cljs.core.INamed}
*/
cljs.core.MultiFn = (function (name,dispatch_fn,default_dispatch_val,hierarchy,method_table,prefer_table,method_cache,cached_hierarchy){
this.name = name;
this.dispatch_fn = dispatch_fn;
this.default_dispatch_val = default_dispatch_val;
this.hierarchy = hierarchy;
this.method_table = method_table;
this.prefer_table = prefer_table;
this.method_cache = method_cache;
this.cached_hierarchy = cached_hierarchy;
this.cljs$lang$protocol_mask$partition0$ = 4194305;
this.cljs$lang$protocol_mask$partition1$ = 4352;
});
cljs.core.MultiFn.prototype.call = (function() {
var G__14331 = null;
var G__14331__1 = (function (self__){
var self__ = this;
var self____$1 = this;
var mf = self____$1;
var dispatch_val = (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$0 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$0() : self__.dispatch_fn.call(null));
var target_fn = mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);
if(cljs.core.truth_(target_fn)){
} else {
cljs.core.throw_no_method_error(self__.name,dispatch_val);
}
return (target_fn.cljs$core$IFn$_invoke$arity$0 ? target_fn.cljs$core$IFn$_invoke$arity$0() : target_fn.call(null));
});
var G__14331__2 = (function (self__,a){
var self__ = this;
var self____$1 = this;
var mf = self____$1;
var dispatch_val = (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$1 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$1(a) : self__.dispatch_fn.call(null,a));
var target_fn = mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);
if(cljs.core.truth_(target_fn)){
} else {
cljs.core.throw_no_method_error(self__.name,dispatch_val);
}
return (target_fn.cljs$core$IFn$_invoke$arity$1 ? target_fn.cljs$core$IFn$_invoke$arity$1(a) : target_fn.call(null,a));
});
var G__14331__3 = (function (self__,a,b){
var self__ = this;
var self____$1 = this;
var mf = self____$1;
var dispatch_val = (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$2 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$2(a,b) : self__.dispatch_fn.call(null,a,b));
var target_fn = mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);
if(cljs.core.truth_(target_fn)){
} else {
cljs.core.throw_no_method_error(self__.name,dispatch_val);
}
return (target_fn.cljs$core$IFn$_invoke$arity$2 ? target_fn.cljs$core$IFn$_invoke$arity$2(a,b) : target_fn.call(null,a,b));
});
var G__14331__4 = (function (self__,a,b,c){
var self__ = this;
var self____$1 = this;
var mf = self____$1;
var dispatch_val = (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$3 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$3(a,b,c) : self__.dispatch_fn.call(null,a,b,c));
var target_fn = mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);
if(cljs.core.truth_(target_fn)){
} else {
cljs.core.throw_no_method_error(self__.name,dispatch_val);
}
return (target_fn.cljs$core$IFn$_invoke$arity$3 ? target_fn.cljs$core$IFn$_invoke$arity$3(a,b,c) : target_fn.call(null,a,b,c));
});
var G__14331__5 = (function (self__,a,b,c,d){
var self__ = this;
var self____$1 = this;
var mf = self____$1;
var dispatch_val = (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$4 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$4(a,b,c,d) : self__.dispatch_fn.call(null,a,b,c,d));
var target_fn = mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);
if(cljs.core.truth_(target_fn)){
} else {
cljs.core.throw_no_method_error(self__.name,dispatch_val);
}
return (target_fn.cljs$core$IFn$_invoke$arity$4 ? target_fn.cljs$core$IFn$_invoke$arity$4(a,b,c,d) : target_fn.call(null,a,b,c,d));
});
var G__14331__6 = (function (self__,a,b,c,d,e){
var self__ = this;
var self____$1 = this;
var mf = self____$1;
var dispatch_val = (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$5 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$5(a,b,c,d,e) : self__.dispatch_fn.call(null,a,b,c,d,e));
var target_fn = mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);
if(cljs.core.truth_(target_fn)){
} else {
cljs.core.throw_no_method_error(self__.name,dispatch_val);
}
return (target_fn.cljs$core$IFn$_invoke$arity$5 ? target_fn.cljs$core$IFn$_invoke$arity$5(a,b,c,d,e) : target_fn.call(null,a,b,c,d,e));
});
var G__14331__7 = (function (self__,a,b,c,d,e,f){
var self__ = this;
var self____$1 = this;
var mf = self____$1;
var dispatch_val = (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$6 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$6(a,b,c,d,e,f) : self__.dispatch_fn.call(null,a,b,c,d,e,f));
var target_fn = mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);
if(cljs.core.truth_(target_fn)){
} else {
cljs.core.throw_no_method_error(self__.name,dispatch_val);
}
return (target_fn.cljs$core$IFn$_invoke$arity$6 ? target_fn.cljs$core$IFn$_invoke$arity$6(a,b,c,d,e,f) : target_fn.call(null,a,b,c,d,e,f));
});
var G__14331__8 = (function (self__,a,b,c,d,e,f,g){
var self__ = this;
var self____$1 = this;
var mf = self____$1;
var dispatch_val = (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$7 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$7(a,b,c,d,e,f,g) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g));
var target_fn = mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);
if(cljs.core.truth_(target_fn)){
} else {
cljs.core.throw_no_method_error(self__.name,dispatch_val);
}
return (target_fn.cljs$core$IFn$_invoke$arity$7 ? target_fn.cljs$core$IFn$_invoke$arity$7(a,b,c,d,e,f,g) : target_fn.call(null,a,b,c,d,e,f,g));
});
var G__14331__9 = (function (self__,a,b,c,d,e,f,g,h){
var self__ = this;
var self____$1 = this;
var mf = self____$1;
var dispatch_val = (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$8 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$8(a,b,c,d,e,f,g,h) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h));
var target_fn = mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);
if(cljs.core.truth_(target_fn)){
} else {
cljs.core.throw_no_method_error(self__.name,dispatch_val);
}
return (target_fn.cljs$core$IFn$_invoke$arity$8 ? target_fn.cljs$core$IFn$_invoke$arity$8(a,b,c,d,e,f,g,h) : target_fn.call(null,a,b,c,d,e,f,g,h));
});
var G__14331__10 = (function (self__,a,b,c,d,e,f,g,h,i){
var self__ = this;
var self____$1 = this;
var mf = self____$1;
var dispatch_val = (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$9 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$9(a,b,c,d,e,f,g,h,i) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i));
var target_fn = mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);
if(cljs.core.truth_(target_fn)){
} else {
cljs.core.throw_no_method_error(self__.name,dispatch_val);
}
return (target_fn.cljs$core$IFn$_invoke$arity$9 ? target_fn.cljs$core$IFn$_invoke$arity$9(a,b,c,d,e,f,g,h,i) : target_fn.call(null,a,b,c,d,e,f,g,h,i));
});
var G__14331__11 = (function (self__,a,b,c,d,e,f,g,h,i,j){
var self__ = this;
var self____$1 = this;
var mf = self____$1;
var dispatch_val = (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$10 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$10(a,b,c,d,e,f,g,h,i,j) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j));
var target_fn = mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);
if(cljs.core.truth_(target_fn)){
} else {
cljs.core.throw_no_method_error(self__.name,dispatch_val);
}
return (target_fn.cljs$core$IFn$_invoke$arity$10 ? target_fn.cljs$core$IFn$_invoke$arity$10(a,b,c,d,e,f,g,h,i,j) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j));
});
var G__14331__12 = (function (self__,a,b,c,d,e,f,g,h,i,j,k){
var self__ = this;
var self____$1 = this;
var mf = self____$1;
var dispatch_val = (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$11 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$11(a,b,c,d,e,f,g,h,i,j,k) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k));
var target_fn = mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);
if(cljs.core.truth_(target_fn)){
} else {
cljs.core.throw_no_method_error(self__.name,dispatch_val);
}
return (target_fn.cljs$core$IFn$_invoke$arity$11 ? target_fn.cljs$core$IFn$_invoke$arity$11(a,b,c,d,e,f,g,h,i,j,k) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k));
});
var G__14331__13 = (function (self__,a,b,c,d,e,f,g,h,i,j,k,l){
var self__ = this;
var self____$1 = this;
var mf = self____$1;
var dispatch_val = (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$12 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$12(a,b,c,d,e,f,g,h,i,j,k,l) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l));
var target_fn = mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);
if(cljs.core.truth_(target_fn)){
} else {
cljs.core.throw_no_method_error(self__.name,dispatch_val);
}
return (target_fn.cljs$core$IFn$_invoke$arity$12 ? target_fn.cljs$core$IFn$_invoke$arity$12(a,b,c,d,e,f,g,h,i,j,k,l) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l));
});
var G__14331__14 = (function (self__,a,b,c,d,e,f,g,h,i,j,k,l,m){
var self__ = this;
var self____$1 = this;
var mf = self____$1;
var dispatch_val = (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$13 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$13(a,b,c,d,e,f,g,h,i,j,k,l,m) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m));
var target_fn = mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);
if(cljs.core.truth_(target_fn)){
} else {
cljs.core.throw_no_method_error(self__.name,dispatch_val);
}
return (target_fn.cljs$core$IFn$_invoke$arity$13 ? target_fn.cljs$core$IFn$_invoke$arity$13(a,b,c,d,e,f,g,h,i,j,k,l,m) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m));
});
var G__14331__15 = (function (self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n){
var self__ = this;
var self____$1 = this;
var mf = self____$1;
var dispatch_val = (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$14 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$14(a,b,c,d,e,f,g,h,i,j,k,l,m,n) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n));
var target_fn = mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);
if(cljs.core.truth_(target_fn)){
} else {
cljs.core.throw_no_method_error(self__.name,dispatch_val);
}
return (target_fn.cljs$core$IFn$_invoke$arity$14 ? target_fn.cljs$core$IFn$_invoke$arity$14(a,b,c,d,e,f,g,h,i,j,k,l,m,n) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n));
});
var G__14331__16 = (function (self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){
var self__ = this;
var self____$1 = this;
var mf = self____$1;
var dispatch_val = (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$15 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$15(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o));
var target_fn = mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);
if(cljs.core.truth_(target_fn)){
} else {
cljs.core.throw_no_method_error(self__.name,dispatch_val);
}
return (target_fn.cljs$core$IFn$_invoke$arity$15 ? target_fn.cljs$core$IFn$_invoke$arity$15(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o));
});
var G__14331__17 = (function (self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){
var self__ = this;
var self____$1 = this;
var mf = self____$1;
var dispatch_val = (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$16 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p));
var target_fn = mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);
if(cljs.core.truth_(target_fn)){
} else {
cljs.core.throw_no_method_error(self__.name,dispatch_val);
}
return (target_fn.cljs$core$IFn$_invoke$arity$16 ? target_fn.cljs$core$IFn$_invoke$arity$16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p));
});
var G__14331__18 = (function (self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){
var self__ = this;
var self____$1 = this;
var mf = self____$1;
var dispatch_val = (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$17 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$17(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q));
var target_fn = mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);
if(cljs.core.truth_(target_fn)){
} else {
cljs.core.throw_no_method_error(self__.name,dispatch_val);
}
return (target_fn.cljs$core$IFn$_invoke$arity$17 ? target_fn.cljs$core$IFn$_invoke$arity$17(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q));
});
var G__14331__19 = (function (self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){
var self__ = this;
var self____$1 = this;
var mf = self____$1;
var dispatch_val = (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$18 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$18(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r));
var target_fn = mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);
if(cljs.core.truth_(target_fn)){
} else {
cljs.core.throw_no_method_error(self__.name,dispatch_val);
}
return (target_fn.cljs$core$IFn$_invoke$arity$18 ? target_fn.cljs$core$IFn$_invoke$arity$18(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r));
});
var G__14331__20 = (function (self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){
var self__ = this;
var self____$1 = this;
var mf = self____$1;
var dispatch_val = (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$19 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$19(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s));
var target_fn = mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);
if(cljs.core.truth_(target_fn)){
} else {
cljs.core.throw_no_method_error(self__.name,dispatch_val);
}
return (target_fn.cljs$core$IFn$_invoke$arity$19 ? target_fn.cljs$core$IFn$_invoke$arity$19(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s));
});
var G__14331__21 = (function (self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){
var self__ = this;
var self____$1 = this;
var mf = self____$1;
var dispatch_val = (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$20 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$20(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t));
var target_fn = mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);
if(cljs.core.truth_(target_fn)){
} else {
cljs.core.throw_no_method_error(self__.name,dispatch_val);
}
return (target_fn.cljs$core$IFn$_invoke$arity$20 ? target_fn.cljs$core$IFn$_invoke$arity$20(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t));
});
var G__14331__22 = (function (self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest){
var self__ = this;
var self____$1 = this;
var mf = self____$1;
var dispatch_val = cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(self__.dispatch_fn,a,b,c,d,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest], 0));
var target_fn = mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);
if(cljs.core.truth_(target_fn)){
} else {
cljs.core.throw_no_method_error(self__.name,dispatch_val);
}
return cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(target_fn,a,b,c,d,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest], 0));
});
G__14331 = function(self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest){
switch(arguments.length){
case 1:
return G__14331__1.call(this,self__);
case 2:
return G__14331__2.call(this,self__,a);
case 3:
return G__14331__3.call(this,self__,a,b);
case 4:
return G__14331__4.call(this,self__,a,b,c);
case 5:
return G__14331__5.call(this,self__,a,b,c,d);
case 6:
return G__14331__6.call(this,self__,a,b,c,d,e);
case 7:
return G__14331__7.call(this,self__,a,b,c,d,e,f);
case 8:
return G__14331__8.call(this,self__,a,b,c,d,e,f,g);
case 9:
return G__14331__9.call(this,self__,a,b,c,d,e,f,g,h);
case 10:
return G__14331__10.call(this,self__,a,b,c,d,e,f,g,h,i);
case 11:
return G__14331__11.call(this,self__,a,b,c,d,e,f,g,h,i,j);
case 12:
return G__14331__12.call(this,self__,a,b,c,d,e,f,g,h,i,j,k);
case 13:
return G__14331__13.call(this,self__,a,b,c,d,e,f,g,h,i,j,k,l);
case 14:
return G__14331__14.call(this,self__,a,b,c,d,e,f,g,h,i,j,k,l,m);
case 15:
return G__14331__15.call(this,self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n);
case 16:
return G__14331__16.call(this,self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o);
case 17:
return G__14331__17.call(this,self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p);
case 18:
return G__14331__18.call(this,self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q);
case 19:
return G__14331__19.call(this,self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r);
case 20:
return G__14331__20.call(this,self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s);
case 21:
return G__14331__21.call(this,self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t);
case 22:
return G__14331__22.call(this,self__,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest);
}
throw(new Error('Invalid arity: ' + (arguments.length - 1)));
};
G__14331.cljs$core$IFn$_invoke$arity$1 = G__14331__1;
G__14331.cljs$core$IFn$_invoke$arity$2 = G__14331__2;
G__14331.cljs$core$IFn$_invoke$arity$3 = G__14331__3;
G__14331.cljs$core$IFn$_invoke$arity$4 = G__14331__4;
G__14331.cljs$core$IFn$_invoke$arity$5 = G__14331__5;
G__14331.cljs$core$IFn$_invoke$arity$6 = G__14331__6;
G__14331.cljs$core$IFn$_invoke$arity$7 = G__14331__7;
G__14331.cljs$core$IFn$_invoke$arity$8 = G__14331__8;
G__14331.cljs$core$IFn$_invoke$arity$9 = G__14331__9;
G__14331.cljs$core$IFn$_invoke$arity$10 = G__14331__10;
G__14331.cljs$core$IFn$_invoke$arity$11 = G__14331__11;
G__14331.cljs$core$IFn$_invoke$arity$12 = G__14331__12;
G__14331.cljs$core$IFn$_invoke$arity$13 = G__14331__13;
G__14331.cljs$core$IFn$_invoke$arity$14 = G__14331__14;
G__14331.cljs$core$IFn$_invoke$arity$15 = G__14331__15;
G__14331.cljs$core$IFn$_invoke$arity$16 = G__14331__16;
G__14331.cljs$core$IFn$_invoke$arity$17 = G__14331__17;
G__14331.cljs$core$IFn$_invoke$arity$18 = G__14331__18;
G__14331.cljs$core$IFn$_invoke$arity$19 = G__14331__19;
G__14331.cljs$core$IFn$_invoke$arity$20 = G__14331__20;
G__14331.cljs$core$IFn$_invoke$arity$21 = G__14331__21;
G__14331.cljs$core$IFn$_invoke$arity$22 = G__14331__22;
return G__14331;
})()
;
cljs.core.MultiFn.prototype.apply = (function (self__,args14329){
var self__ = this;
var self____$1 = this;
return self____$1.call.apply(self____$1,[self____$1].concat(cljs.core.aclone(args14329)));
});
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$0 = (function (){
var self__ = this;
var mf = this;
var dispatch_val = (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$0 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$0() : self__.dispatch_fn.call(null));
var target_fn = mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);
if(cljs.core.truth_(target_fn)){
} else {
cljs.core.throw_no_method_error(self__.name,dispatch_val);
}
return (target_fn.cljs$core$IFn$_invoke$arity$0 ? target_fn.cljs$core$IFn$_invoke$arity$0() : target_fn.call(null));
});
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$1 = (function (a){
var self__ = this;
var mf = this;
var dispatch_val = (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$1 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$1(a) : self__.dispatch_fn.call(null,a));
var target_fn = mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);
if(cljs.core.truth_(target_fn)){
} else {
cljs.core.throw_no_method_error(self__.name,dispatch_val);
}
return (target_fn.cljs$core$IFn$_invoke$arity$1 ? target_fn.cljs$core$IFn$_invoke$arity$1(a) : target_fn.call(null,a));
});
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$2 = (function (a,b){
var self__ = this;
var mf = this;
var dispatch_val = (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$2 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$2(a,b) : self__.dispatch_fn.call(null,a,b));
var target_fn = mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);
if(cljs.core.truth_(target_fn)){
} else {
cljs.core.throw_no_method_error(self__.name,dispatch_val);
}
return (target_fn.cljs$core$IFn$_invoke$arity$2 ? target_fn.cljs$core$IFn$_invoke$arity$2(a,b) : target_fn.call(null,a,b));
});
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$3 = (function (a,b,c){
var self__ = this;
var mf = this;
var dispatch_val = (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$3 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$3(a,b,c) : self__.dispatch_fn.call(null,a,b,c));
var target_fn = mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);
if(cljs.core.truth_(target_fn)){
} else {
cljs.core.throw_no_method_error(self__.name,dispatch_val);
}
return (target_fn.cljs$core$IFn$_invoke$arity$3 ? target_fn.cljs$core$IFn$_invoke$arity$3(a,b,c) : target_fn.call(null,a,b,c));
});
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$4 = (function (a,b,c,d){
var self__ = this;
var mf = this;
var dispatch_val = (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$4 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$4(a,b,c,d) : self__.dispatch_fn.call(null,a,b,c,d));
var target_fn = mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);
if(cljs.core.truth_(target_fn)){
} else {
cljs.core.throw_no_method_error(self__.name,dispatch_val);
}
return (target_fn.cljs$core$IFn$_invoke$arity$4 ? target_fn.cljs$core$IFn$_invoke$arity$4(a,b,c,d) : target_fn.call(null,a,b,c,d));
});
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$5 = (function (a,b,c,d,e){
var self__ = this;
var mf = this;
var dispatch_val = (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$5 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$5(a,b,c,d,e) : self__.dispatch_fn.call(null,a,b,c,d,e));
var target_fn = mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);
if(cljs.core.truth_(target_fn)){
} else {
cljs.core.throw_no_method_error(self__.name,dispatch_val);
}
return (target_fn.cljs$core$IFn$_invoke$arity$5 ? target_fn.cljs$core$IFn$_invoke$arity$5(a,b,c,d,e) : target_fn.call(null,a,b,c,d,e));
});
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$6 = (function (a,b,c,d,e,f){
var self__ = this;
var mf = this;
var dispatch_val = (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$6 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$6(a,b,c,d,e,f) : self__.dispatch_fn.call(null,a,b,c,d,e,f));
var target_fn = mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);
if(cljs.core.truth_(target_fn)){
} else {
cljs.core.throw_no_method_error(self__.name,dispatch_val);
}
return (target_fn.cljs$core$IFn$_invoke$arity$6 ? target_fn.cljs$core$IFn$_invoke$arity$6(a,b,c,d,e,f) : target_fn.call(null,a,b,c,d,e,f));
});
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$7 = (function (a,b,c,d,e,f,g){
var self__ = this;
var mf = this;
var dispatch_val = (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$7 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$7(a,b,c,d,e,f,g) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g));
var target_fn = mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);
if(cljs.core.truth_(target_fn)){
} else {
cljs.core.throw_no_method_error(self__.name,dispatch_val);
}
return (target_fn.cljs$core$IFn$_invoke$arity$7 ? target_fn.cljs$core$IFn$_invoke$arity$7(a,b,c,d,e,f,g) : target_fn.call(null,a,b,c,d,e,f,g));
});
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$8 = (function (a,b,c,d,e,f,g,h){
var self__ = this;
var mf = this;
var dispatch_val = (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$8 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$8(a,b,c,d,e,f,g,h) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h));
var target_fn = mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);
if(cljs.core.truth_(target_fn)){
} else {
cljs.core.throw_no_method_error(self__.name,dispatch_val);
}
return (target_fn.cljs$core$IFn$_invoke$arity$8 ? target_fn.cljs$core$IFn$_invoke$arity$8(a,b,c,d,e,f,g,h) : target_fn.call(null,a,b,c,d,e,f,g,h));
});
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$9 = (function (a,b,c,d,e,f,g,h,i){
var self__ = this;
var mf = this;
var dispatch_val = (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$9 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$9(a,b,c,d,e,f,g,h,i) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i));
var target_fn = mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);
if(cljs.core.truth_(target_fn)){
} else {
cljs.core.throw_no_method_error(self__.name,dispatch_val);
}
return (target_fn.cljs$core$IFn$_invoke$arity$9 ? target_fn.cljs$core$IFn$_invoke$arity$9(a,b,c,d,e,f,g,h,i) : target_fn.call(null,a,b,c,d,e,f,g,h,i));
});
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$10 = (function (a,b,c,d,e,f,g,h,i,j){
var self__ = this;
var mf = this;
var dispatch_val = (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$10 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$10(a,b,c,d,e,f,g,h,i,j) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j));
var target_fn = mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);
if(cljs.core.truth_(target_fn)){
} else {
cljs.core.throw_no_method_error(self__.name,dispatch_val);
}
return (target_fn.cljs$core$IFn$_invoke$arity$10 ? target_fn.cljs$core$IFn$_invoke$arity$10(a,b,c,d,e,f,g,h,i,j) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j));
});
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$11 = (function (a,b,c,d,e,f,g,h,i,j,k){
var self__ = this;
var mf = this;
var dispatch_val = (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$11 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$11(a,b,c,d,e,f,g,h,i,j,k) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k));
var target_fn = mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);
if(cljs.core.truth_(target_fn)){
} else {
cljs.core.throw_no_method_error(self__.name,dispatch_val);
}
return (target_fn.cljs$core$IFn$_invoke$arity$11 ? target_fn.cljs$core$IFn$_invoke$arity$11(a,b,c,d,e,f,g,h,i,j,k) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k));
});
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$12 = (function (a,b,c,d,e,f,g,h,i,j,k,l){
var self__ = this;
var mf = this;
var dispatch_val = (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$12 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$12(a,b,c,d,e,f,g,h,i,j,k,l) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l));
var target_fn = mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);
if(cljs.core.truth_(target_fn)){
} else {
cljs.core.throw_no_method_error(self__.name,dispatch_val);
}
return (target_fn.cljs$core$IFn$_invoke$arity$12 ? target_fn.cljs$core$IFn$_invoke$arity$12(a,b,c,d,e,f,g,h,i,j,k,l) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l));
});
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$13 = (function (a,b,c,d,e,f,g,h,i,j,k,l,m){
var self__ = this;
var mf = this;
var dispatch_val = (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$13 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$13(a,b,c,d,e,f,g,h,i,j,k,l,m) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m));
var target_fn = mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);
if(cljs.core.truth_(target_fn)){
} else {
cljs.core.throw_no_method_error(self__.name,dispatch_val);
}
return (target_fn.cljs$core$IFn$_invoke$arity$13 ? target_fn.cljs$core$IFn$_invoke$arity$13(a,b,c,d,e,f,g,h,i,j,k,l,m) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m));
});
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$14 = (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n){
var self__ = this;
var mf = this;
var dispatch_val = (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$14 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$14(a,b,c,d,e,f,g,h,i,j,k,l,m,n) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n));
var target_fn = mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);
if(cljs.core.truth_(target_fn)){
} else {
cljs.core.throw_no_method_error(self__.name,dispatch_val);
}
return (target_fn.cljs$core$IFn$_invoke$arity$14 ? target_fn.cljs$core$IFn$_invoke$arity$14(a,b,c,d,e,f,g,h,i,j,k,l,m,n) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n));
});
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$15 = (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){
var self__ = this;
var mf = this;
var dispatch_val = (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$15 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$15(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o));
var target_fn = mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);
if(cljs.core.truth_(target_fn)){
} else {
cljs.core.throw_no_method_error(self__.name,dispatch_val);
}
return (target_fn.cljs$core$IFn$_invoke$arity$15 ? target_fn.cljs$core$IFn$_invoke$arity$15(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o));
});
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$16 = (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){
var self__ = this;
var mf = this;
var dispatch_val = (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$16 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p));
var target_fn = mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);
if(cljs.core.truth_(target_fn)){
} else {
cljs.core.throw_no_method_error(self__.name,dispatch_val);
}
return (target_fn.cljs$core$IFn$_invoke$arity$16 ? target_fn.cljs$core$IFn$_invoke$arity$16(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p));
});
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$17 = (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){
var self__ = this;
var mf = this;
var dispatch_val = (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$17 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$17(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q));
var target_fn = mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);
if(cljs.core.truth_(target_fn)){
} else {
cljs.core.throw_no_method_error(self__.name,dispatch_val);
}
return (target_fn.cljs$core$IFn$_invoke$arity$17 ? target_fn.cljs$core$IFn$_invoke$arity$17(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q));
});
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$18 = (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){
var self__ = this;
var mf = this;
var dispatch_val = (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$18 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$18(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r));
var target_fn = mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);
if(cljs.core.truth_(target_fn)){
} else {
cljs.core.throw_no_method_error(self__.name,dispatch_val);
}
return (target_fn.cljs$core$IFn$_invoke$arity$18 ? target_fn.cljs$core$IFn$_invoke$arity$18(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r));
});
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$19 = (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){
var self__ = this;
var mf = this;
var dispatch_val = (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$19 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$19(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s));
var target_fn = mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);
if(cljs.core.truth_(target_fn)){
} else {
cljs.core.throw_no_method_error(self__.name,dispatch_val);
}
return (target_fn.cljs$core$IFn$_invoke$arity$19 ? target_fn.cljs$core$IFn$_invoke$arity$19(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s));
});
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$20 = (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){
var self__ = this;
var mf = this;
var dispatch_val = (self__.dispatch_fn.cljs$core$IFn$_invoke$arity$20 ? self__.dispatch_fn.cljs$core$IFn$_invoke$arity$20(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) : self__.dispatch_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t));
var target_fn = mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);
if(cljs.core.truth_(target_fn)){
} else {
cljs.core.throw_no_method_error(self__.name,dispatch_val);
}
return (target_fn.cljs$core$IFn$_invoke$arity$20 ? target_fn.cljs$core$IFn$_invoke$arity$20(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t) : target_fn.call(null,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t));
});
cljs.core.MultiFn.prototype.cljs$core$IFn$_invoke$arity$21 = (function (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest){
var self__ = this;
var mf = this;
var dispatch_val = cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(self__.dispatch_fn,a,b,c,d,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest], 0));
var target_fn = mf.cljs$core$IMultiFn$_get_method$arity$2(null,dispatch_val);
if(cljs.core.truth_(target_fn)){
} else {
cljs.core.throw_no_method_error(self__.name,dispatch_val);
}
return cljs.core.apply.cljs$core$IFn$_invoke$arity$variadic(target_fn,a,b,c,d,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,rest], 0));
});
cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_prefer_method$arity$3 = (function (mf,dispatch_val_x,dispatch_val_y){
var self__ = this;
var mf__$1 = this;
if(cljs.core.truth_(cljs.core.prefers_STAR_(dispatch_val_x,dispatch_val_y,self__.prefer_table))){
throw (new Error(["Preference conflict in multimethod '",cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.name),"': ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(dispatch_val_y)," is already preferred to ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(dispatch_val_x)].join('')));
} else {
}
cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(self__.prefer_table,((function (mf__$1){
return (function (old){
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(old,dispatch_val_x,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.get.cljs$core$IFn$_invoke$arity$3(old,dispatch_val_x,cljs.core.PersistentHashSet.EMPTY),dispatch_val_y));
});})(mf__$1))
);
return cljs.core.reset_cache(self__.method_cache,self__.method_table,self__.cached_hierarchy,self__.hierarchy);
});
cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_default_dispatch_val$arity$1 = (function (mf){
var self__ = this;
var mf__$1 = this;
return self__.default_dispatch_val;
});
cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_remove_method$arity$2 = (function (mf,dispatch_val){
var self__ = this;
var mf__$1 = this;
cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$3(self__.method_table,cljs.core.dissoc,dispatch_val);
cljs.core.reset_cache(self__.method_cache,self__.method_table,self__.cached_hierarchy,self__.hierarchy);
return mf__$1;
});
cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_methods$arity$1 = (function (mf){
var self__ = this;
var mf__$1 = this;
return cljs.core.deref(self__.method_table);
});
cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_prefers$arity$1 = (function (mf){
var self__ = this;
var mf__$1 = this;
return cljs.core.deref(self__.prefer_table);
});
cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_dispatch_fn$arity$1 = (function (mf){
var self__ = this;
var mf__$1 = this;
return self__.dispatch_fn;
});
cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_add_method$arity$3 = (function (mf,dispatch_val,method){
var self__ = this;
var mf__$1 = this;
cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(self__.method_table,cljs.core.assoc,dispatch_val,method);
cljs.core.reset_cache(self__.method_cache,self__.method_table,self__.cached_hierarchy,self__.hierarchy);
return mf__$1;
});
cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_reset$arity$1 = (function (mf){
var self__ = this;
var mf__$1 = this;
cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(self__.method_table,((function (mf__$1){
return (function (mf__$2){
return cljs.core.PersistentArrayMap.EMPTY;
});})(mf__$1))
);
cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(self__.method_cache,((function (mf__$1){
return (function (mf__$2){
return cljs.core.PersistentArrayMap.EMPTY;
});})(mf__$1))
);
cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(self__.prefer_table,((function (mf__$1){
return (function (mf__$2){
return cljs.core.PersistentArrayMap.EMPTY;
});})(mf__$1))
);
cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$2(self__.cached_hierarchy,((function (mf__$1){
return (function (mf__$2){
return null;
});})(mf__$1))
);
return mf__$1;
});
cljs.core.MultiFn.prototype.cljs$core$IMultiFn$_get_method$arity$2 = (function (mf,dispatch_val){
var self__ = this;
var mf__$1 = this;
if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(self__.cached_hierarchy),cljs.core.deref(self__.hierarchy))){
} else {
cljs.core.reset_cache(self__.method_cache,self__.method_table,self__.cached_hierarchy,self__.hierarchy);
}
var temp__5455__auto__ = (function (){var fexpr__14330 = cljs.core.deref(self__.method_cache);
return (fexpr__14330.cljs$core$IFn$_invoke$arity$1 ? fexpr__14330.cljs$core$IFn$_invoke$arity$1(dispatch_val) : fexpr__14330.call(null,dispatch_val));
})();
if(cljs.core.truth_(temp__5455__auto__)){
var target_fn = temp__5455__auto__;
return target_fn;
} else {
return cljs.core.find_and_cache_best_method(self__.name,dispatch_val,self__.hierarchy,self__.method_table,self__.prefer_table,self__.method_cache,self__.cached_hierarchy,self__.default_dispatch_val);
}
});
cljs.core.MultiFn.prototype.cljs$core$INamed$_name$arity$1 = (function (this$){
var self__ = this;
var this$__$1 = this;
return cljs.core._name(self__.name);
});
cljs.core.MultiFn.prototype.cljs$core$INamed$_namespace$arity$1 = (function (this$){
var self__ = this;
var this$__$1 = this;
return cljs.core._namespace(self__.name);
});
cljs.core.MultiFn.prototype.cljs$core$IHash$_hash$arity$1 = (function (this$){
var self__ = this;
var this$__$1 = this;
return goog.getUid(this$__$1);
});
cljs.core.MultiFn.getBasis = (function (){
return new cljs.core.PersistentVector(null, 8, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$name,cljs.core.cst$sym$dispatch_DASH_fn,cljs.core.cst$sym$default_DASH_dispatch_DASH_val,cljs.core.cst$sym$hierarchy,cljs.core.cst$sym$method_DASH_table,cljs.core.cst$sym$prefer_DASH_table,cljs.core.cst$sym$method_DASH_cache,cljs.core.cst$sym$cached_DASH_hierarchy], null);
});
cljs.core.MultiFn.cljs$lang$type = true;
cljs.core.MultiFn.cljs$lang$ctorStr = "cljs.core/MultiFn";
cljs.core.MultiFn.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/MultiFn");
});
cljs.core.__GT_MultiFn = (function cljs$core$__GT_MultiFn(name,dispatch_fn,default_dispatch_val,hierarchy,method_table,prefer_table,method_cache,cached_hierarchy){
return (new cljs.core.MultiFn(name,dispatch_fn,default_dispatch_val,hierarchy,method_table,prefer_table,method_cache,cached_hierarchy));
});
/**
* Removes all of the methods of multimethod.
*/
cljs.core.remove_all_methods = (function cljs$core$remove_all_methods(multifn){
return cljs.core._reset(multifn);
});
/**
* Removes the method of multimethod associated with dispatch-value.
*/
cljs.core.remove_method = (function cljs$core$remove_method(multifn,dispatch_val){
return cljs.core._remove_method(multifn,dispatch_val);
});
/**
* Causes the multimethod to prefer matches of dispatch-val-x over dispatch-val-y
* when there is a conflict
*/
cljs.core.prefer_method = (function cljs$core$prefer_method(multifn,dispatch_val_x,dispatch_val_y){
return cljs.core._prefer_method(multifn,dispatch_val_x,dispatch_val_y);
});
/**
* Given a multimethod, returns a map of dispatch values -> dispatch fns
*/
cljs.core.methods$ = (function cljs$core$methods(multifn){
return cljs.core._methods(multifn);
});
/**
* Given a multimethod and a dispatch value, returns the dispatch fn
* that would apply to that value, or nil if none apply and no default
*/
cljs.core.get_method = (function cljs$core$get_method(multifn,dispatch_val){
return cljs.core._get_method(multifn,dispatch_val);
});
/**
* Given a multimethod, returns a map of preferred value -> set of other values
*/
cljs.core.prefers = (function cljs$core$prefers(multifn){
return cljs.core._prefers(multifn);
});
/**
* Given a multimethod, return it's default-dispatch-val.
*/
cljs.core.default_dispatch_val = (function cljs$core$default_dispatch_val(multifn){
return cljs.core._default_dispatch_val(multifn);
});
/**
* Given a multimethod, return it's dispatch-fn.
*/
cljs.core.dispatch_fn = (function cljs$core$dispatch_fn(multifn){
return cljs.core._dispatch_fn(multifn);
});
/**
* A marker protocol for UUIDs
* @interface
*/
cljs.core.IUUID = function(){};
/**
* @constructor
* @implements {cljs.core.IEquiv}
* @implements {cljs.core.IHash}
* @implements {cljs.core.IPrintWithWriter}
* @implements {cljs.core.IComparable}
* @implements {cljs.core.IUUID}
*/
cljs.core.UUID = (function (uuid,__hash){
this.uuid = uuid;
this.__hash = __hash;
this.cljs$lang$protocol_mask$partition0$ = 2153775104;
this.cljs$lang$protocol_mask$partition1$ = 2048;
});
cljs.core.UUID.prototype.cljs$core$IUUID$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.UUID.prototype.toString = (function (){
var self__ = this;
var _ = this;
return self__.uuid;
});
cljs.core.UUID.prototype.equiv = (function (other){
var self__ = this;
var this$ = this;
return this$.cljs$core$IEquiv$_equiv$arity$2(null,other);
});
cljs.core.UUID.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (_,other){
var self__ = this;
var ___$1 = this;
return ((other instanceof cljs.core.UUID)) && ((self__.uuid === other.uuid));
});
cljs.core.UUID.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (_,writer,___$1){
var self__ = this;
var ___$2 = this;
return cljs.core._write(writer,["#uuid \"",cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.uuid),"\""].join(''));
});
cljs.core.UUID.prototype.cljs$core$IHash$_hash$arity$1 = (function (this$){
var self__ = this;
var this$__$1 = this;
if((self__.__hash == null)){
self__.__hash = cljs.core.hash(self__.uuid);
} else {
}
return self__.__hash;
});
cljs.core.UUID.prototype.cljs$core$IComparable$_compare$arity$2 = (function (_,other){
var self__ = this;
var ___$1 = this;
var G__14332 = self__.uuid;
var G__14333 = other.uuid;
return goog.array.defaultCompare(G__14332,G__14333);
});
cljs.core.UUID.getBasis = (function (){
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$uuid,cljs.core.with_meta(cljs.core.cst$sym$__hash,new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$mutable,true], null))], null);
});
cljs.core.UUID.cljs$lang$type = true;
cljs.core.UUID.cljs$lang$ctorStr = "cljs.core/UUID";
cljs.core.UUID.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/UUID");
});
cljs.core.__GT_UUID = (function cljs$core$__GT_UUID(uuid,__hash){
return (new cljs.core.UUID(uuid,__hash));
});
cljs.core.uuid = (function cljs$core$uuid(s){
if(typeof s === 'string'){
} else {
throw (new Error("Assert failed: (string? s)"));
}
return (new cljs.core.UUID(s.toLowerCase(),null));
});
cljs.core.random_uuid = (function cljs$core$random_uuid(){
var hex = (function cljs$core$random_uuid_$_hex(){
return cljs.core.rand_int((16)).toString((16));
});
var rhex = ((8) | ((3) & cljs.core.rand_int((16)))).toString((16));
return cljs.core.uuid([cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),"-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),"-","4",cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),"-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(rhex),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),"-",cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(hex())].join(''));
});
cljs.core.uuid_QMARK_ = (function cljs$core$uuid_QMARK_(x){
if(!((x == null))){
if((false) || ((cljs.core.PROTOCOL_SENTINEL === x.cljs$core$IUUID$))){
return true;
} else {
return false;
}
} else {
return false;
}
});
cljs.core.pr_writer_ex_info = (function cljs$core$pr_writer_ex_info(obj,writer,opts){
cljs.core._write(writer,"#error {:message ");
cljs.core.pr_writer(obj.message,writer,opts);
if(cljs.core.truth_(obj.data)){
cljs.core._write(writer,", :data ");
cljs.core.pr_writer(obj.data,writer,opts);
} else {
}
if(cljs.core.truth_(obj.cause)){
cljs.core._write(writer,", :cause ");
cljs.core.pr_writer(obj.cause,writer,opts);
} else {
}
return cljs.core._write(writer,"}");
});
/**
* @constructor
*/
cljs.core.ExceptionInfo = (function cljs$core$ExceptionInfo(message,data,cause){
var e = (new Error(message));
var this$ = this;
this$.message = message;
this$.data = data;
this$.cause = cause;
this$.name = e.name;
this$.description = e.description;
this$.number = e.number;
this$.fileName = e.fileName;
this$.lineNumber = e.lineNumber;
this$.columnNumber = e.columnNumber;
this$.stack = e.stack;
return this$;
});
cljs.core.ExceptionInfo.prototype.__proto__ = Error.prototype;
cljs.core.ExceptionInfo.prototype.cljs$core$IPrintWithWriter$ = cljs.core.PROTOCOL_SENTINEL;
cljs.core.ExceptionInfo.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (obj,writer,opts){
var obj__$1 = this;
return cljs.core.pr_writer_ex_info(obj__$1,writer,opts);
});
cljs.core.ExceptionInfo.prototype.toString = (function (){
var this$ = this;
return cljs.core.pr_str_STAR_(this$);
});
/**
* Create an instance of ExceptionInfo, an Error type that carries a
* map of additional data.
*/
cljs.core.ex_info = (function cljs$core$ex_info(var_args){
var G__14336 = arguments.length;
switch (G__14336) {
case 2:
return cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
case 3:
return cljs.core.ex_info.cljs$core$IFn$_invoke$arity$3((arguments[(0)]),(arguments[(1)]),(arguments[(2)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2 = (function (msg,data){
return cljs.core.ex_info.cljs$core$IFn$_invoke$arity$3(msg,data,null);
});
cljs.core.ex_info.cljs$core$IFn$_invoke$arity$3 = (function (msg,data,cause){
return (new cljs.core.ExceptionInfo(msg,data,cause));
});
cljs.core.ex_info.cljs$lang$maxFixedArity = 3;
/**
* Returns exception data (a map) if ex is an ExceptionInfo.
* Otherwise returns nil.
*/
cljs.core.ex_data = (function cljs$core$ex_data(ex){
if((ex instanceof cljs.core.ExceptionInfo)){
return ex.data;
} else {
return null;
}
});
/**
* Returns the message attached to the given Error / ExceptionInfo object.
* For non-Errors returns nil.
*/
cljs.core.ex_message = (function cljs$core$ex_message(ex){
if((ex instanceof Error)){
return ex.message;
} else {
return null;
}
});
/**
* Returns exception cause (an Error / ExceptionInfo) if ex is an
* ExceptionInfo.
* Otherwise returns nil.
*/
cljs.core.ex_cause = (function cljs$core$ex_cause(ex){
if((ex instanceof cljs.core.ExceptionInfo)){
return ex.cause;
} else {
return null;
}
});
/**
* Returns an JavaScript compatible comparator based upon pred.
*/
cljs.core.comparator = (function cljs$core$comparator(pred){
return (function (x,y){
if(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$2 ? pred.cljs$core$IFn$_invoke$arity$2(x,y) : pred.call(null,x,y)))){
return (-1);
} else {
if(cljs.core.truth_((pred.cljs$core$IFn$_invoke$arity$2 ? pred.cljs$core$IFn$_invoke$arity$2(y,x) : pred.call(null,y,x)))){
return (1);
} else {
return (0);
}
}
});
});
/**
* Returns true if x names a special form
*/
cljs.core.special_symbol_QMARK_ = (function cljs$core$special_symbol_QMARK_(x){
return cljs.core.contains_QMARK_(new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 23, [cljs.core.cst$sym$_AMPERSAND_,null,cljs.core.cst$sym$defrecord_STAR_,null,cljs.core.cst$sym$try,null,cljs.core.cst$sym$ns_STAR_,null,cljs.core.cst$sym$finally,null,cljs.core.cst$sym$loop_STAR_,null,cljs.core.cst$sym$do,null,cljs.core.cst$sym$letfn_STAR_,null,cljs.core.cst$sym$if,null,cljs.core.cst$sym$new,null,cljs.core.cst$sym$ns,null,cljs.core.cst$sym$deftype_STAR_,null,cljs.core.cst$sym$let_STAR_,null,cljs.core.cst$sym$js_STAR_,null,cljs.core.cst$sym$fn_STAR_,null,cljs.core.cst$sym$recur,null,cljs.core.cst$sym$set_BANG_,null,cljs.core.cst$sym$_DOT_,null,cljs.core.cst$sym$var,null,cljs.core.cst$sym$quote,null,cljs.core.cst$sym$catch,null,cljs.core.cst$sym$throw,null,cljs.core.cst$sym$def,null], null), null),x);
});
/**
* test [v] finds fn at key :test in var metadata and calls it,
* presuming failure will throw exception
*/
cljs.core.test = (function cljs$core$test(v){
var f = v.cljs$lang$test;
if(cljs.core.truth_(f)){
(f.cljs$core$IFn$_invoke$arity$0 ? f.cljs$core$IFn$_invoke$arity$0() : f.call(null));
return cljs.core.cst$kw$ok;
} else {
return cljs.core.cst$kw$no_DASH_test;
}
});
/**
* @constructor
* @implements {cljs.core.IEquiv}
* @implements {cljs.core.IHash}
* @implements {cljs.core.IPrintWithWriter}
* @implements {cljs.core.ILookup}
*/
cljs.core.TaggedLiteral = (function (tag,form){
this.tag = tag;
this.form = form;
this.cljs$lang$protocol_mask$partition0$ = 2153775360;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
cljs.core.TaggedLiteral.prototype.toString = (function (){
var self__ = this;
var coll = this;
return cljs.core.pr_str_STAR_(coll);
});
cljs.core.TaggedLiteral.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (this$,other){
var self__ = this;
var this$__$1 = this;
return ((other instanceof cljs.core.TaggedLiteral)) && (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(self__.tag,other.tag)) && (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(self__.form,other.form));
});
cljs.core.TaggedLiteral.prototype.cljs$core$IHash$_hash$arity$1 = (function (this$){
var self__ = this;
var this$__$1 = this;
return (((31) * cljs.core.hash(self__.tag)) + cljs.core.hash(self__.form));
});
cljs.core.TaggedLiteral.prototype.cljs$core$ILookup$_lookup$arity$2 = (function (this$,v){
var self__ = this;
var this$__$1 = this;
return this$__$1.cljs$core$ILookup$_lookup$arity$3(null,v,null);
});
cljs.core.TaggedLiteral.prototype.cljs$core$ILookup$_lookup$arity$3 = (function (this$,v,not_found){
var self__ = this;
var this$__$1 = this;
var G__14338 = v;
var G__14338__$1 = (((G__14338 instanceof cljs.core.Keyword))?G__14338.fqn:null);
switch (G__14338__$1) {
case "tag":
return self__.tag;
break;
case "form":
return self__.form;
break;
default:
return not_found;
}
});
cljs.core.TaggedLiteral.prototype.cljs$core$IPrintWithWriter$_pr_writer$arity$3 = (function (o,writer,opts){
var self__ = this;
var o__$1 = this;
cljs.core._write(writer,["#",cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.tag)," "].join(''));
return cljs.core.pr_writer(self__.form,writer,opts);
});
cljs.core.TaggedLiteral.getBasis = (function (){
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$tag,cljs.core.cst$sym$form], null);
});
cljs.core.TaggedLiteral.cljs$lang$type = true;
cljs.core.TaggedLiteral.cljs$lang$ctorStr = "cljs.core/TaggedLiteral";
cljs.core.TaggedLiteral.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/TaggedLiteral");
});
cljs.core.__GT_TaggedLiteral = (function cljs$core$__GT_TaggedLiteral(tag,form){
return (new cljs.core.TaggedLiteral(tag,form));
});
/**
* Return true if the value is the data representation of a tagged literal
*/
cljs.core.tagged_literal_QMARK_ = (function cljs$core$tagged_literal_QMARK_(value){
return (value instanceof cljs.core.TaggedLiteral);
});
/**
* Construct a data representation of a tagged literal from a
* tag symbol and a form.
*/
cljs.core.tagged_literal = (function cljs$core$tagged_literal(tag,form){
if((tag instanceof cljs.core.Symbol)){
} else {
throw (new Error("Assert failed: (symbol? tag)"));
}
return (new cljs.core.TaggedLiteral(tag,form));
});
/**
* @type {*}
*/
cljs.core.js_reserved_arr = ["arguments","abstract","await","boolean","break","byte","case","catch","char","class","const","continue","debugger","default","delete","do","double","else","enum","export","extends","final","finally","float","for","function","goto","if","implements","import","in","instanceof","int","interface","let","long","native","new","package","private","protected","public","return","short","static","super","switch","synchronized","this","throw","throws","transient","try","typeof","var","void","volatile","while","with","yield","methods","null","constructor"];
/**
* @type {null|Object}
*/
cljs.core.js_reserved = null;
cljs.core.js_reserved_QMARK_ = (function cljs$core$js_reserved_QMARK_(x){
if((cljs.core.js_reserved == null)){
cljs.core.js_reserved = cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__14340_SHARP_,p2__14341_SHARP_){
goog.object.set(p1__14340_SHARP_,p2__14341_SHARP_,true);
return p1__14340_SHARP_;
}),({}),cljs.core.js_reserved_arr);
} else {
}
return cljs.core.js_reserved.hasOwnProperty(x);
});
cljs.core.demunge_pattern = (function cljs$core$demunge_pattern(){
if(cljs.core.truth_(cljs.core.DEMUNGE_PATTERN)){
} else {
cljs.core.DEMUNGE_PATTERN = (function (){var ks = cljs.core.sort.cljs$core$IFn$_invoke$arity$2((function (a,b){
return (b.length - a.length);
}),cljs.core.js_keys(cljs.core.DEMUNGE_MAP));
var ks__$1 = ks;
var ret = "";
while(true){
if(cljs.core.seq(ks__$1)){
var G__14343 = cljs.core.next(ks__$1);
var G__14344 = [cljs.core.str.cljs$core$IFn$_invoke$arity$1((function (){var G__14342 = ret;
if(!((ret === ""))){
return [cljs.core.str.cljs$core$IFn$_invoke$arity$1(G__14342),"|"].join('');
} else {
return G__14342;
}
})()),cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.first(ks__$1))].join('');
ks__$1 = G__14343;
ret = G__14344;
continue;
} else {
return [cljs.core.str.cljs$core$IFn$_invoke$arity$1(ret),"|\\$"].join('');
}
break;
}
})();
}
return cljs.core.DEMUNGE_PATTERN;
});
cljs.core.munge_str = (function cljs$core$munge_str(name){
var sb = (new goog.string.StringBuffer());
var i_14345 = (0);
while(true){
if((i_14345 < name.length)){
var c_14346 = name.charAt(i_14345);
var sub_14347 = goog.object.get(cljs.core.CHAR_MAP,c_14346);
if(!((sub_14347 == null))){
sb.append(sub_14347);
} else {
sb.append(c_14346);
}
var G__14348 = (i_14345 + (1));
i_14345 = G__14348;
continue;
} else {
}
break;
}
return sb.toString();
});
cljs.core.munge = (function cljs$core$munge(name){
var name_SINGLEQUOTE_ = cljs.core.munge_str([cljs.core.str.cljs$core$IFn$_invoke$arity$1(name)].join(''));
var name_SINGLEQUOTE___$1 = (((name_SINGLEQUOTE_ === ".."))?"_DOT__DOT_":(cljs.core.truth_(cljs.core.js_reserved_QMARK_(name_SINGLEQUOTE_))?[cljs.core.str.cljs$core$IFn$_invoke$arity$1(name_SINGLEQUOTE_),"$"].join(''):name_SINGLEQUOTE_
));
if((name instanceof cljs.core.Symbol)){
return cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(name_SINGLEQUOTE___$1);
} else {
return name_SINGLEQUOTE___$1;
}
});
cljs.core.demunge_str = (function cljs$core$demunge_str(munged_name){
var r = (new RegExp(cljs.core.demunge_pattern(),"g"));
var munged_name__$1 = (cljs.core.truth_(goog.string.endsWith(munged_name,"$"))?munged_name.substring((0),(munged_name.length - (1))):munged_name);
var ret = "";
var last_match_end = (0);
while(true){
var temp__5455__auto__ = r.exec(munged_name__$1);
if(cljs.core.truth_(temp__5455__auto__)){
var match = temp__5455__auto__;
var vec__14349 = match;
var x = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__14349,(0),null);
var G__14352 = [cljs.core.str.cljs$core$IFn$_invoke$arity$1(ret),cljs.core.str.cljs$core$IFn$_invoke$arity$1(munged_name__$1.substring(last_match_end,(r.lastIndex - x.length))),cljs.core.str.cljs$core$IFn$_invoke$arity$1((((x === "$"))?"/":goog.object.get(cljs.core.DEMUNGE_MAP,x)))].join('');
var G__14353 = r.lastIndex;
ret = G__14352;
last_match_end = G__14353;
continue;
} else {
return [cljs.core.str.cljs$core$IFn$_invoke$arity$1(ret),cljs.core.str.cljs$core$IFn$_invoke$arity$1(munged_name__$1.substring(last_match_end,munged_name__$1.length))].join('');
}
break;
}
});
cljs.core.demunge = (function cljs$core$demunge(name){
var G__14355 = (function (){var name_SINGLEQUOTE_ = [cljs.core.str.cljs$core$IFn$_invoke$arity$1(name)].join('');
if((name_SINGLEQUOTE_ === "_DOT__DOT_")){
return "..";
} else {
return cljs.core.demunge_str(name_SINGLEQUOTE_);
}
})();
var fexpr__14354 = (((name instanceof cljs.core.Symbol))?cljs.core.symbol:cljs.core.str);
return (fexpr__14354.cljs$core$IFn$_invoke$arity$1 ? fexpr__14354.cljs$core$IFn$_invoke$arity$1(G__14355) : fexpr__14354.call(null,G__14355));
});
/**
* Bootstrap only.
*/
cljs.core.ns_lookup = (function cljs$core$ns_lookup(ns_obj,k){
return (function (){
return goog.object.get(ns_obj,k);
});
});
/**
* @constructor
* @implements {cljs.core.IEquiv}
* @implements {cljs.core.IHash}
*/
cljs.core.Namespace = (function (obj,name){
this.obj = obj;
this.name = name;
this.cljs$lang$protocol_mask$partition0$ = 6291456;
this.cljs$lang$protocol_mask$partition1$ = 0;
});
cljs.core.Namespace.prototype.findInternedVar = (function (sym){
var self__ = this;
var this$ = this;
var k = cljs.core.munge([cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym)].join(''));
if(goog.object.containsKey(self__.obj,k)){
var var_sym = cljs.core.symbol.cljs$core$IFn$_invoke$arity$2([cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.name)].join(''),[cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym)].join(''));
var var_meta = new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$ns,this$], null);
return (new cljs.core.Var(cljs.core.ns_lookup(self__.obj,k),var_sym,var_meta));
} else {
return null;
}
});
cljs.core.Namespace.prototype.getName = (function (){
var self__ = this;
var _ = this;
return self__.name;
});
cljs.core.Namespace.prototype.toString = (function (){
var self__ = this;
var _ = this;
return [cljs.core.str.cljs$core$IFn$_invoke$arity$1(self__.name)].join('');
});
cljs.core.Namespace.prototype.cljs$core$IEquiv$_equiv$arity$2 = (function (_,other){
var self__ = this;
var ___$1 = this;
if((other instanceof cljs.core.Namespace)){
return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(self__.name,other.name);
} else {
return false;
}
});
cljs.core.Namespace.prototype.cljs$core$IHash$_hash$arity$1 = (function (_){
var self__ = this;
var ___$1 = this;
return cljs.core.hash(self__.name);
});
cljs.core.Namespace.getBasis = (function (){
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.cst$sym$obj,cljs.core.cst$sym$name], null);
});
cljs.core.Namespace.cljs$lang$type = true;
cljs.core.Namespace.cljs$lang$ctorStr = "cljs.core/Namespace";
cljs.core.Namespace.cljs$lang$ctorPrWriter = (function (this__9453__auto__,writer__9454__auto__,opt__9455__auto__){
return cljs.core._write(writer__9454__auto__,"cljs.core/Namespace");
});
cljs.core.__GT_Namespace = (function cljs$core$__GT_Namespace(obj,name){
return (new cljs.core.Namespace(obj,name));
});
/**
* Bootstrap only.
* @type {*}
*/
cljs.core.NS_CACHE = null;
/**
* Bootstrap only.
*/
cljs.core.find_ns_obj_STAR_ = (function cljs$core$find_ns_obj_STAR_(ctxt,xs){
while(true){
if((ctxt == null)){
return null;
} else {
if((xs == null)){
return ctxt;
} else {
var G__14358 = (function (){var G__14356 = ctxt;
var G__14357 = cljs.core.first(xs);
return goog.object.get(G__14356,G__14357);
})();
var G__14359 = cljs.core.next(xs);
ctxt = G__14358;
xs = G__14359;
continue;
}
}
break;
}
});
/**
* Bootstrap only.
*/
cljs.core.find_ns_obj = (function cljs$core$find_ns_obj(ns){
var munged_ns = cljs.core.munge([cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns)].join(''));
var segs = munged_ns.split(".");
var G__14360 = cljs.core._STAR_target_STAR_;
switch (G__14360) {
case "nodejs":
if(COMPILED){
return cljs.core.find_ns_obj_STAR_((function (){try{var ctxt = (function (){var G__14362 = cljs.core.first(segs);
return eval(G__14362);
})();
if(cljs.core.truth_((function (){var and__8770__auto__ = ctxt;
if(cljs.core.truth_(and__8770__auto__)){
return cljs.core.object_QMARK_(ctxt);
} else {
return and__8770__auto__;
}
})())){
return ctxt;
} else {
return null;
}
}catch (e14361){if((e14361 instanceof ReferenceError)){
var e = e14361;
return null;
} else {
throw e14361;
}
}})(),cljs.core.next(segs));
} else {
return cljs.core.find_ns_obj_STAR_(global,segs);
}
break;
case "default":
return cljs.core.find_ns_obj_STAR_(goog.global,segs);
break;
default:
throw (new Error(["find-ns-obj not supported for target ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core._STAR_target_STAR_)].join('')));
}
});
/**
* Returns a map of the intern mappings for the namespace.
* Bootstrap only.
*/
cljs.core.ns_interns_STAR_ = (function cljs$core$ns_interns_STAR_(sym){
var ns_obj = cljs.core.find_ns_obj(sym);
var ns = (new cljs.core.Namespace(ns_obj,sym));
var step = ((function (ns_obj,ns){
return (function cljs$core$ns_interns_STAR__$_step(ret,k){
var var_sym = cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.demunge(k));
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(ret,var_sym,(new cljs.core.Var(((function (var_sym,ns_obj,ns){
return (function (){
return goog.object.get(ns_obj,k);
});})(var_sym,ns_obj,ns))
,cljs.core.symbol.cljs$core$IFn$_invoke$arity$2([cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym)].join(''),[cljs.core.str.cljs$core$IFn$_invoke$arity$1(var_sym)].join('')),new cljs.core.PersistentArrayMap(null, 1, [cljs.core.cst$kw$ns,ns], null))));
});})(ns_obj,ns))
;
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3(step,cljs.core.PersistentArrayMap.EMPTY,cljs.core.js_keys(ns_obj));
});
/**
* Create a new namespace named by the symbol. Bootstrap only.
*/
cljs.core.create_ns = (function cljs$core$create_ns(var_args){
var G__14365 = arguments.length;
switch (G__14365) {
case 1:
return cljs.core.create_ns.cljs$core$IFn$_invoke$arity$1((arguments[(0)]));
break;
case 2:
return cljs.core.create_ns.cljs$core$IFn$_invoke$arity$2((arguments[(0)]),(arguments[(1)]));
break;
default:
throw (new Error(["Invalid arity: ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));
}
});
cljs.core.create_ns.cljs$core$IFn$_invoke$arity$1 = (function (sym){
return cljs.core.create_ns.cljs$core$IFn$_invoke$arity$2(sym,cljs.core.find_ns_obj(sym));
});
cljs.core.create_ns.cljs$core$IFn$_invoke$arity$2 = (function (sym,ns_obj){
return (new cljs.core.Namespace(ns_obj,sym));
});
cljs.core.create_ns.cljs$lang$maxFixedArity = 2;
/**
* Returns the namespace named by the symbol or nil if it doesn't exist.
* Bootstrap only.
*/
cljs.core.find_ns = (function cljs$core$find_ns(ns){
if((cljs.core.NS_CACHE == null)){
cljs.core.NS_CACHE = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);
} else {
}
var the_ns = cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.core.NS_CACHE),ns);
if(!((the_ns == null))){
return the_ns;
} else {
var ns_obj = cljs.core.find_ns_obj(ns);
if((ns_obj == null)){
return null;
} else {
var new_ns = cljs.core.create_ns.cljs$core$IFn$_invoke$arity$2(ns,ns_obj);
cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.NS_CACHE,cljs.core.assoc,ns,new_ns);
return new_ns;
}
}
});
/**
* Returns the macros namespace named by the symbol or nil if it doesn't exist.
* Bootstrap only.
*/
cljs.core.find_macros_ns = (function cljs$core$find_macros_ns(ns){
if((cljs.core.NS_CACHE == null)){
cljs.core.NS_CACHE = cljs.core.atom.cljs$core$IFn$_invoke$arity$1(cljs.core.PersistentArrayMap.EMPTY);
} else {
}
var ns_str = [cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns)].join('');
var ns__$1 = ((!(goog.string.contains(ns_str,"$macros")))?cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns_str),"$macros"].join('')):ns);
var the_ns = cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.core.deref(cljs.core.NS_CACHE),ns__$1);
if(!((the_ns == null))){
return the_ns;
} else {
var ns_obj = cljs.core.find_ns_obj(ns__$1);
if((ns_obj == null)){
return null;
} else {
var new_ns = cljs.core.create_ns.cljs$core$IFn$_invoke$arity$2(ns__$1,ns_obj);
cljs.core.swap_BANG_.cljs$core$IFn$_invoke$arity$4(cljs.core.NS_CACHE,cljs.core.assoc,ns__$1,new_ns);
return new_ns;
}
}
});
/**
* Returns the name of the namespace, a Namespace object.
* Bootstrap only.
*/
cljs.core.ns_name = (function cljs$core$ns_name(ns_obj){
return ns_obj.name;
});
/**
* Returns true X is a goog.Uri instance.
*/
cljs.core.uri_QMARK_ = (function cljs$core$uri_QMARK_(x){
return (x instanceof goog.Uri);
});